作用与优势:
1. 作用:根据元素在HTML中的结构关系查找元素
2. 优势:减少对于HTML中类的依赖,有利于保持代码整洁 3. 场景:常用于查找某父级选择器中的子元
一:选择器:
代码时例:
<style>
/* 找到li标签;并且这个li是它父元素的第一个孩子 */
li:first-child{
background-color: red;
}
/* 同理 */
li:last-child{
background-color: green;
}
li:nth-child(5) {
background-color: blue;
}
/*找到li标签;并且这个li是他父元素的倒数第二个孩子 */
li:nth-last-child(2){
background-color: pink;
}
</style>
<body>
<ul>
<li>这里是li标签</li>
<li>这里是li标签</li>
<li>这里是li标签</li>
<li>这里是li标签</li>
<li>这里是li标签</li>
<li>这里是li标签</li>
<li>这里是li标签</li>
<li>这里是li标签</li>
<li>这里是li标签</li>
</ul>
</body>
二 结构伪类选择器易错点分析:
/* 需求:我们找到第三个a, 设置字体颜色为orange*/
<style>
/* 我们找到第三个a, 只能选中第三个li标签里面的a*/
li:nth-child(3) a {
color: orange;
}
</style>
<body>
<ul>
<li><a href="">这是第1个a</a></li>
<li><a href="">这是第2个a</a></li>
<li><a href="">这是第3个a</a></li>
<li><a href="">这是第4个a</a></li>
<li><a href="">这是第5个a</a></li>
<li><a href="">这是第6个a</a></li>
<li><a href="">这是第7个a</a></li>
</ul>
</body>
三.结构伪类选中多个选择器
手写代码:
1)选中偶数个:2n/even
ul li:nth-child(2n) { background-color:red
}
2)选中奇数个:2n+1、2n-1
un li : nth-child(2n+1) { background-color:blue
}
3)选中前5个:-n+5
un li:nth-child(-n+5) { background-color:pink
}
4)选中从第5个开始后面的li
li:nth-child(n+6) {background-color:black
}
四:nth-of-type结构伪类选择器
区别: • :nth-child → 直接在所有孩子中数个数
• :nth-of-type → 先通过该 类型 找到符合的一堆子元素,然后在这一堆子元素中数个数