很长一段时间以来,我一直在使用一个名为clear的CSS类,它只有规则clear: both。我以以下方式使用它(显示在Django语法中,但它并不重要):
{% for item in collection %}
<ul class="horiz"><!-- horizontal list -->
<li>{{ item }}</li>
<li>{{ item }}</li>
</ul>
<div class="clear"></div>
{% endfor %}如你所见,我做了一堆水平列表,让它看起来就像一个表格。假设CSS规则.horiz li暗示float: left。请注意,我在这个“表”中的每一行之后都使用了<div class="clear"></div>,对于如此简单的事情,使用了很多HTML语言。
这真的是要走的路吗?有没有什么更简单的东西是我没有想过的?
发布于 2009-08-06 09:22:50
有什么原因你不能用..。
<ul class="horiz clear">..。对于除第一个列表之外的所有列表?
发布于 2009-08-06 09:24:43
如果您希望每个列表都显示其中的内容,而不必添加填充DIV标记,则可以使用以下命令调整列表的overflow属性:
.horiz
{
overflow:hidden;
}现在,即使列表项目本身是浮动的,列表的内容也应该显示,而不会像现在这样折叠区域,因为它们被移出了流。
发布于 2010-10-14 01:27:47
你可以在overflow: hidden;中使用你的ul。这将为每个ul建立一个新的block formatting context,这正是您想要的。
我曾经像你一样使用clear: both;,但一旦我发现了这个奇怪的小怪癖,我就开始几乎完全使用它了。它似乎在语义上更优越,并且在99%的情况下都有效。
https://stackoverflow.com/questions/1237813
复制相似问题