我有两排浮动的DIV。我使用PocketGrid作为CSS框架(特别是它的" automatic rows"功能),我想使用CSS索引而不是特定的类名来调整每个。
我在this jsFiddle尝试了它,但即使前三个(第一行)的大小正确,接下来的三个也不是。
.sintesi-offerta > .block:nth-child(1n) {
width: 40%;
}
.sintesi-offerta > .block:nth-child(2n) {
width: 20%;
}
.sintesi-offerta > .block:nth-child(3n) {
width: 40%;
}
如何设置.block:nth-child(...)
以便:
答案 0 :(得分:1)
如果我理解正确,您需要做的就是将CSS更改为以下内容:
.sintesi-offerta > .block:nth-child(3n+1) {
width: 40%;
}
.sintesi-offerta > .block:nth-child(3n+2) {
width: 20%;
}
.sintesi-offerta > .block:nth-child(3n+3) {
width: 40%;
}
旁注:你的br标签应为<br/>
,以便jsfiddle正确解释它们。
答案 1 :(得分:1)
基本上你想要......
.sintesi-offerta > .block:nth-of-type(3n+1),
.sintesi-offerta > .block:nth-of-type(3n){
width: 40%;
}
第三个块(包括第一个块)之后的每个.block的每个第3个.block和3n
的 ... 3n+1
和...
.sintesi-offerta > .block:nth-of-type(3n+2){
width: 20%;
}
... 3n+2
用于中间.block(每行第3个.block之后的第二个.block,包括第一行中的第二个.block)。
只要您想要/有3&#34;列&#34;
,无论您添加多少行,此模式都适用于每一行。答案 2 :(得分:0)
问题在于CSS不会允许您需要的复杂标识符。
您正在尝试格式化以下子项:
1, 3, 4, 6, 7, 9, 10, 12
我能想到的唯一方法是添加间距div以确保偶数个div / line,然后为奇数和偶数子项分配不同的样式。
http://jsfiddle.net/pfg40qd1/2/
编辑:或者,如果你知道总会有三个/行......
<div class="row">Blocks</div>
...并根据行div格式化块。
答案 3 :(得分:0)
您可以使用nth-of-type(4n+1)
,nth-of-type(4n+2)
,nth-of-type(4n+3)
和nth-of-type(4n+4)
等语法,
我建议使用nth-of-type
代替nth-child
,因为它的套房更适合您的情况
.sintesi-offerta > .block:nth-of-type(4n+1) {}
.sintesi-offerta > .block:nth-of-type(4n+2) {}
.sintesi-offerta > .block:nth-of-type(4n+3) {}
.sintesi-offerta > .block:nth-of-type(4n + 4) {}