首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“清除:两者”的最好方法

“清除:两者”的最好方法
EN

Stack Overflow用户
提问于 2009-08-06 09:15:22
回答 8查看 19.6K关注 0票数 2

很长一段时间以来,我一直在使用一个名为clear的CSS类,它只有规则clear: both。我以以下方式使用它(显示在Django语法中,但它并不重要):

代码语言:javascript
运行
复制
{% 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语言。

这真的是要走的路吗?有没有什么更简单的东西是我没有想过的?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-08-06 09:22:50

有什么原因你不能用..。

代码语言:javascript
运行
复制
<ul class="horiz clear">

..。对于除第一个列表之外的所有列表?

票数 7
EN

Stack Overflow用户

发布于 2009-08-06 09:24:43

如果您希望每个列表都显示其中的内容,而不必添加填充DIV标记,则可以使用以下命令调整列表的overflow属性:

代码语言:javascript
运行
复制
.horiz
{
   overflow:hidden;
}

现在,即使列表项目本身是浮动的,列表的内容也应该显示,而不会像现在这样折叠区域,因为它们被移出了流。

票数 5
EN

Stack Overflow用户

发布于 2010-10-14 01:27:47

你可以在overflow: hidden;中使用你的ul。这将为每个ul建立一个新的block formatting context,这正是您想要的。

我曾经像你一样使用clear: both;,但一旦我发现了这个奇怪的小怪癖,我就开始几乎完全使用它了。它似乎在语义上更优越,并且在99%的情况下都有效。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1237813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档