:nth-child()
选择同级的,第 n 个元素。
例子
<div class="container">
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>
</div>
<style>
.container :nth-child(2){
color: red;
}
</style>
这里被选中的,是 class 为 .b的元素。
注意!这里
.container之后,与:nth-child之前有一个空格!
:nth-child(n)这里,n 的取值,可以是一些数字,也可以是 even或 odd,表示:
- even:第 2,4,6,8,,,个元素
- odd:第 1,3,5,7,,,个元素
n 的取值,还可以是3n+1这种表达式,表示第 1,4,7,10,13,,,个元素
实用场景
隔行变色
<div class="container">
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>
<div class="d">d</div>
</div>
<style>
.container :nth-child(even){
background: red;
}
</style>
弟弟选择器
很多同仁叫它“兄弟选择器”,但是码者觉得叫“弟弟”更合适一点,因为这个选择器只能选择“与某元素同级的下一个元素”。
例子
<div class="container">
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
</div>
<style>
.a + div{
color: red
}
</style>
这个 .a + div选择的是 class 为 .b的 div。即与 .a同级的下一个 div,即 .b。
实用场景
需求
所有 <a></a>标签,左右与其他元素设置 10px的边距
分析
本来这样就够了:
a{
margin: 0 10px;
}
但是,如果好几个 <a></a>标签挤在一起时,相邻的 <a></a>标签之间,实际相距 20px,间距太大了!不好看!
但是,可以这样:
<div class="container">
<a>修改状态</a>
<a>编辑</a>
<a>删除</a>
</div>
<style>
a{
margin: 0 10px;
}
a + a{
margin-left: 0;
}
</style>
本文详细介绍了CSS中的:nth-child()选择器及弟弟选择器的使用方法,包括如何选取特定位置的元素以及实现隔行变色等实用场景,并给出了具体的代码示例。
786

被折叠的 条评论
为什么被折叠?



