css获取除第⼀个之外的⼦元素
在前端页⾯开发中,需要使⽤css来选择除了第⼀个之外的⼦元素,例如希望每个span之间能间隔⼀定的距离,单不能给每个span设置margin-left,这样会导致第⼀个span的前⾯有间距,影响排版。下⾯就来讲解实现css获取除第⼀个之外的⼦元素的多种⽅法。
效果如下:
基本结构如下:
<style>
.dom div{
float: left;
height: 150px;
line-height: 150px;
width: 150px;
margin: 20px;
background: #ccc;
text-align: center;
color:#fff;
}
</style>
<div class="dom">
<div>1</div>
<div>2</div>css兄弟选择器
<div>3</div>
</div>
⽅法1:使⽤伪类选择器:not
<style>
.dom div:not(:first-child){
background:red;
}
</style>
说明:
:
not(selector) 选择器匹配⾮指定元素/选择器的每个元素。
:first-child 选择器⽤于选取属于其⽗元素的⾸个⼦元素的指定选择器。
⽅法2:使⽤nth-of-type或者nth-child
<style>
.dom div:nth-of-type(n+2){
background:red;
}
</style>
或者:
<style>
.dom div:nth-child(n+2){
background:red;
}
</style>
说明:
n是从0开始的,那么n+2⾃然就是从第2个元素开始了,同理如果选中单数元素那么就是2n+1,如果是想选中双数元素,那么就应该写成2n+2;具体情况可以根据项⽬情况使⽤。
⽅法3:巧妙使⽤+或者~兄弟选择符
<style>
.dom div+div{
background:red;
}
</style>
或者:
<style>
.dom div~div{
background:red;
}
</style>
说明:
+ 选择器:如果需要选择紧接在另⼀个元素后的元素,⽽且⼆者有相同的⽗元素,可以使⽤相邻兄弟选择器。
~ 选择器:作⽤是查某⼀个指定元素的后⾯的所有兄弟结点。
由于都是div元素,第⼀个元素没有兄弟元素,所以就能获取除第⼀个之外的⼦元素。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论