[英]css odd even not working with pseudo-elements
我有一个容器div名称wrapper
,它有几个名为thumb
子div我想用偶数和奇数应用css pseudo elements
。
<div class="wrapper">
<div class="col-half">
<div class="thumb">
...
</div>
</div>
<div class="col-half">
<div class="thumb">
...
</div>
</div>
<div class="col-half">
<div class="thumb">
...
</div>
</div>
<div class="col-half">
<div class="thumb">
...
</div>
</div>
</div>
.wrapper:nth-child(even) .thumb:after{
//some codes
}
.wrapper:nth-child(odd) .thumb:after{
//some codes
}
但我只得到odd
风格。
由于基于兄弟索引应用odd
和偶数关系,因此需要将其应用于col-half
因为这是重复元素。
由于您的thumb
元素是其父元素的第一个子元素,因此它只满足odd
选择器
.wrapper .col-half:nth-child(even) .thumb:after { content: 'x' } .wrapper .col-half:nth-child(odd) .thumb:after { content: 'y' }
<div class="wrapper"> <div class="col-half"> <div class="thumb"> ... </div> </div> <div class="col-half"> <div class="thumb"> ... </div> </div> <div class="col-half"> <div class="thumb"> ... </div> </div> <div class="col-half"> <div class="thumb"> ... </div> </div> </div>
你有一个误解:nth-child因为它不能作为“这个容器的第n个孩子”,而是“我是我父母的第n个孩子吗?”。
所以你需要申请:nth-child(odd/even)
到.col-half
:
.col-half:nth-child(even) .thumb:after{
//some codes
}
.col-half:nth-child(odd) .thumb:after{
//some codes
}
这个选择器的名称确实引起了许多误解,因为它太容易误解你的方式。
.col-half:nth-child(even) {
color: green;
}
.col-half:nth-child(odd) {
color: red;
}
试试这样: 演示
在你的CSS中,你使用父div显示偶数和奇数。 相反,你需要使用奇数/偶数重复的子元素
.col-half:nth-child(even) .thumb{
background:#ccc;
}
.col-half:nth-child(odd) .thumb{
background:#f00;
}
试试这一个
.wrapper .col-half:nth-child(2n) .thumb:after {
content: '';
}
.wrapper .col-half:nth-child(2n-1) .thumb:after {
content: '';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.