CSS布局:如何在N个元素之后打断第一列,然后在第二列中使用CSS?
HTML代码已修复,我无法更改:CSS布局:如何在N个元素之后打断第一列,然后在第二列中使用CSS?,css,layout,Css,Layout,HTML代码已修复,我无法更改: 要素1 要素2 要素3 要素4 要素5 要素6 要素7 我只能更改CSS 我想要一个两列的布局,这样: +-----------------------+ +-------------+ | Element 1 | | Element N+1 | +-----------------------+ +-------------+ +-----------------------+ +-------------+ | Ele
要素1
要素2
要素3
要素4
要素5
要素6
要素7
我只能更改CSS
我想要一个两列的布局,这样:
+-----------------------+ +-------------+
| Element 1 | | Element N+1 |
+-----------------------+ +-------------+
+-----------------------+ +-------------+
| Element 2 | | Element N+2 |
+-----------------------+ +-------------+
...
+-----------------------+ +-------------+
| Element N | | Element 2N |
+-----------------------+ +-------------+
+-------------+
| Element 2N+1|
+-------------+
...
+-------------+
| Element 2N+M|
+-------------+
我知道如何选择前N个元素并应用不同的样式(此处:N=4):
.wrapper>div:n子级(-n+5){
宽度:66vw
}
.wrapper>div{
宽度:33vw
}
我错过的是如何在图中定位元素。我可以通过以下方式获得结果:
.wrapper>div:n子级(-n+5){
宽度:66vw
左边距:0;
浮动:左;
}
.wrapper>div{
宽度:33vw;
左边距:66vw;
}
使用2n+1技巧,添加清除两个属性,我们可以打断列并获得所需的布局
.wrapper:after{
内容:'';
显示:块;
明确:两者皆有;
}
.wrapper>div{
浮动:左;
宽度:33vw
}
.wrapper>div:n个子项(2n+1){
明确:两者皆有;
}
要素1
要素2
要素3
要素4
要素5
要素6
要素7
查看网格,将子对象分派到a列或其他列中。实际上,我开始查看网格和flex,最后,一个非常简单的解决方案就足够了:。谢谢你的评论。谢谢你的回答,但那不是我想要的布局。我终于可以得到想要的布局了。请参阅下面的评论:“在没有额外包装的情况下在列之间流动元素可能非常棘手。值得一提的是:显示:内联块通常更容易处理。”