我有许多LI,我正在使用内联块放置。
它非常好用,我看到了
| [LI1]-[LI2]-[LI3] |
| [LI4 ]-[LI5] |
| [LI6]-[LI7]-[LI8] |
在我的浏览器上,具体取决于窗口宽度和单个LI的宽度。
我希望在一些LI之后,“换行”。例如,在LI2之后加上“换行符”,我会看到
| [LI1]-[LI2] |
| [LI3]-[LI4 ] |
| [LI5]-[LI6]-[LI7] |
| [LI8] |
当然,也可能是LI3也打破了这条线。
我可以完全控制每个LI的CSS。
谢谢!
答案 0 :(得分:0)
我不会用CSS技巧来做这件事 - 我会修改我的HTML以反映你想要显示的列表的结构。
在这里,您可以说<li>
的每个水平集都是自己的<ul>
。所以你有一份清单。
检查this JsFiddle。 通过这种方式,您可以获得结果而不会在某些CSS中隐藏行为,并且很容易看到标记中发生了什么。
编辑:好的,因为您无法触摸HTML,您可以将所有<li>
向左浮动,然后在每行<li>
上创建第一个clear:left
。见this edit to the JsFiddle ...
答案 1 :(得分:0)
如果你想要一个特定的元素“换行”,你只需要添加一个明确的。
.myelement {
clear: both;
}
<li>Hi</li>
<li>There</li>
<li class="myelement">Neighbor!</li>
元素自然迁移到左侧。如果所有元素都设置为float:left,它们将全部迁移到左侧,然后在每次空间耗尽时中断。 clear:both;
使它们成为该行的唯一项目。