文章目录
1、基本选择器
- 标签选择器:
根据标签名称进行选择的一种方式, - ID选择器:
根据标签的id属性值进行选择的,同一个页面id属性值必须唯一。样式里加#表示ID选择器 - 类选择器:
根据标签的class属性值进行选择。同一个页面可以有多个相同的class属性值。样式里加(.)表示类选择器。 *
选择器:如果选择页面上所有标签,就可以用*
;
优先级:ID选择器>类选择器>标签选择器>*选择器
选择数量:1个 2-3个 多个 所有
2、高级选择器
2.1 层次选择器
2.1.1 后代选择器
标签名 标签名
div p{}表示div里面所有的p标签,p标签可以是孙子。
<div> ----选到的是p1,p3
<p>p1</p>
<ul>
<li>
<p>p3</p>
</li>
</ul>
</div>
2.1.2 子选择器
标签名>标签名
div>p选择div里面的p标签,并且这个p标签必须是儿子。
<div> -----选到的是p1
<p>p1</p>
<ul>
<li>
<p>p3</p>
</li>
</ul>
</div>
2.1.3 相邻兄弟选择器
标签名+标签名
div+p{}选择div相邻的p标签.1、层次相同2、必须相邻
<p>p1</p> --选到的是P1
<div></div>
<h3></h3>
<p>p2</p>
2.1.4 通用选择器
标签名~标签名
div~p:选择div层次相同的所有p标签,可能是多个
2.1.5 交集选择器
标签名,标签名
同时选择多种标签。可以选择多个,每个之间使用逗号隔开
div,p{ //为所有的div和p标签设置样式
font-size:10px;
}
2.1.6 并集选择器
同时满足两个条件。
div.name{
//必须是个div标签并且这个标签还具有class="name"
//选择具有有class="name"的div标签
}
2.2 伪类选择器
当使用基本选择器,层次选择器都无法定位到该元素的时候,可以考虑使用伪类选择器,根据标签所在位置或者特征进行选择。
2.2.1 E:first-child
E必须是第一个孩子
男:first-child 必须是老大,并且是个男的。
div:first-child:选择在父元素当中,第一个div标签。必须是第一个标签
<body>
<p>pppp</p>
<div>111</div>
</body>
h2:first-child{
//
}
2.2.2 E:last-child
E必须是最后一个孩子
.aa:last-child
<body>
<p>pppp</p>
<div class="aa">111</div>
</body>
2.2.3 E:nth-child(n)
E必须是第n个孩子
p:nth-child(3){
}
2.2.4 E:first-of-type
选择第一次出现的E,可以忽略前面的元素。
男:first-of-type 选择第一个出现的男孩,不考虑前面有几个姐姐
div:first-of-type 选择第一个出现的div
2.2.5 E:last-of-type
选择最后一次出现的E,可以忽略前面的E元素和其它元素。
男:last-of-type 选择最后一个出现的男孩,不考虑前面有几个姐姐和哥哥。
div:last-of-type 选择最后一个出现的div
2.2.6 E:nth-of-type(n)
选择第n次出现的E