我想将div叠加在一起,并在三个子元素之后打破div。
示例HTML:
<div class="wrap">
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
</div>
CSS:
.wrap a {
float:left;
}
.wrap a:nth-child(4n) {
clear:left;
}
见jsFiddle。第一行显示正常,3个子div彼此相邻。 但是第二行有4个div,它应该有3.我怎么能这样才能使用:nth-child
正确地将3个div叠加在一起?
答案 0 :(得分:1)
使用nth-child(3n+1)
:
.wrap a {
float:left;
}
.wrap a:nth-child(3n+1) {
clear:left;
}
<div class="wrap">
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
</div>
答案 1 :(得分:1)
解释:使用公式(an + b)
。说明:a represents
周期大小,n
是计数器(starts at 0)
,b
是偏移值。
.wrap a {
float:left;
}
.wrap a:nth-child(3n+1) {
clear:left;
}
<div class="wrap">
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
<a> hello </a>
</div>