css中选择器种类总结

[b]1: 类型选择器 :即HTML标签选择器 [/b]

选择器名称(){

属性:属性值





H2 {color:white;}

[color=red]关注点:不需要 “.” 号,不需要“#”号,就是 HTML标签名称{属性:属性值} [/color]

[b]2:属性选择器 : HTML标签中的属性选择器,比如div 有align属性 [/b]

选择器名称[属性=属性值]{

属性:属性值



如 :

p[align=center]{

color :white;

}

解释:html中的标签P中所有属性align为中间的P标签颜色默认为白色

[b]3:ID选择器 通过标签的ID属性定义HTML标签的CSS样式,因为ID要求是唯一的,所以该CSS样式也会是唯一,相当于HTML标签中style属性。 [/b]

#ID名称{

属性:属性值;



比如html中有<p id=p1,align='center'></p>

定义CSS样式 :#p1{

color:white;

}

[b]4,类选择器:常用的 ".名称{}",名称可以自己定义,需要引用的地方加class="该类型名称" [/b]

.名称{

属性:属性名



css :

.mycolor{

color :white;

}

html :<p class='mycolor' ></p>

[b]5:通配选择器 一般不经常用,一般用于页面整体字体,颜色 [/b]

* {

color :white



[b]6:后台选择器 :子子孙孙 [/b]

父标签 后台标签 {

属性 :属性值



父标签一般使用html标签选择符,

css:

li a {

font-size:150%;/*字体变大默认的150%*/

text-decoration:none; /*去掉字体装饰 ,即去点连接默认的下划线*/

}

html

<ul>

<li><a href=www.baidu.com>百度</a></li>

<li><a href=www.goole.com>谷歌</a></li>

</ul>

[b]7:子选择器 : [/b]

父标签 > 子标签{

属性:属性值



css:

li >a{

text-decoration:none; /*去掉字体装饰 ,即去点连接默认的下划线*/

}

html:

<ul>

<li><a href=www.baidu.com>百度</a></li>

<li><a href=www.goole.com>谷歌</a></li>

</ul>

[b]8 :兄弟选择器 :同一父标签下,并列的子标签 [/b]

兄弟标签1+兄弟标签2{

属性:属性名



css:

li + li {

font-size:200%



html:

<ul>

<li><a href=www.baidu.com>百度</a></li>

<li><a href=www.goole.com>谷歌</a></li>

</ul>
### CSS 子集选择器的用法与示例 CSS 子集选择器(Subset Selector)允许开发者基于文档结构中的层次关系精确地定位 HTML 元素。以下是几种常用的子集选择器及其具体用法: #### 1. **后代选择器** 后代选择器用于匹配某个祖先元素内的所有符合条件的后代元素。其语法形式为 `A B`,表示选择 A 下的所有 B 元素[^4]。 ```css /* 示例 */ div span { color: blue; } ``` 在此例子中,所有的 `<span>` 元素会被设置成蓝色,前提是它们位于 `<div>` 内部。 #### 2. **子代选择器** 子代选择器仅匹配直接子元素,而不是更深级别的后代。其语法形式为 `A > B`,表示选择 A 的直接子元素 B[^4]。 ```css /* 示例 */ ul > li { list-style-type: square; } ``` 该代码只会改变那些作为 `<ul>` 的直接子元素的 `<li>` 样式。 #### 3. **相邻兄弟选择器** 相邻兄弟选择器用来选择紧跟在另一个指定元素后面的同级元素。其语法形式为 `A + B`,意味着当 A 出现在 B 前面时,B 将受到影响[^4]。 ```css /* 示例 */ h1 + p { margin-top: 0; } ``` 这里,只有紧接在 `<h1>` 后的第一个 `<p>` 元素才会被修改。 #### 4. **通用兄弟选择器** 通用兄弟选择器可以选定任何跟随在另一元素之后的所有同级元素,而不仅仅是下一个。其语法形式为 `A ~ B`[^4]。 ```css /* 示例 */ input[type="radio"]:checked ~ label { font-weight: bold; } ``` 这个例子展示了如何让选中的单选项对应的标签加粗显示。 --- ### 使用场景举例 假设有一个简单的 HTML 页面如下所示: ```html <div class="container"> <p>First paragraph</p> <section> <p>Second paragraph inside section</p> </section> <p>Third paragraph</p> </div> <p>Fourth paragraph outside container</p> ``` 我们可以分别尝试不同的子集选择器来观察效果: - **后代选择器**: 如果我们想给容器内部的所有段落文字颜色设为红色,则可以用下面这条规则: ```css div.container p { color: red; /* 所有嵌套在 .container 中的 <p> 都变红 */ } ``` - **子代选择器**: 若要单独处理直接隶属于 `.container` 的段落而非其他深层嵌套的内容,可采用这种方式: ```css div.container > p { background-color: yellow; /* 只影响最顶层两个 <p>, 不包括 section 内的那个 */ } ``` - **相邻兄弟选择器**: 当希望第二个段落在第一个后面立即出现时调整间距,可用此方法: ```css p + p { margin-left: 2em; /* 影响的是每一对连续排列的 <p> 对之间的距离 */ } ``` - **通用兄弟选择器**: 若需强调任意数量后续手足节点上的变化情况,比如点击按钮后高亮所有相关联项目列表项,那么应该这样写: ```css button:focus ~ ul li { border: solid thin green; /* 让当前活动状态下的关联条目更加醒目易见 */ } ``` --- ### 总结 通过合理组合使用这些不同种类的子集选择器,能够极大提升页面布局灵活性和用户体验的一致性。理解各自适用范围有助于编写清晰高效的样式表文件[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值