CSS清除:both and width 100%?

标签 css css-float

我不完全确定我从哪里得到这个,但作为习惯规则,如果我在一些 float 元素之后有一个清晰的 div,我会执行以下操作。

<div class='clear'></div>

然后在CSS中

.clear{ clear:both; width 100% }

在很大程度上,这见证了我作为一名开发人员多年的经历,直到今天。

今天我发现 100% 宽度位破坏了 IE7 中的布局,删除宽度修复了它。

我的问题很简单:透明 div 上需要宽度有什么原因吗?

最佳答案

有一种更好的方法来清除 float 元素,不需要额外的 HTML 元素。通常,您希望使 HTML 尽可能直观和语义化,并将所有设计和视觉辅助留给 CSS。

如果我有以下 HTML:

<div class="container">
    <div class="floated-left"></div>
    <div class="floated-right">
</div></div>
<div class="some-non-floating-content"></div>

CSS:

overflow approach:
.container {
    overflow: auto;
    width: 100%;
}
:after approach:
.container:after {
    content: '';
    display: block;
    height: 0;
    clear: both; 
}

您可以在此处阅读有关这些更具语义的方法的更多信息:http://css-tricks.com/all-about-floats/在这里 http://www.positioniseverything.net/easyclearing.htmls

为了回答您有关宽度的具体问题,我只知道在应用溢出以确保容器不会折叠时需要它。

关于CSS清除:both and width 100%?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14522587/

相关文章:

html - 仅在与主要形状接触时才产生粘性效果

javascript - 如何使用使用 for 循环和变量的 JQuery 定义 SCSS 关键帧?

css - 在矩形或其填充上设置不透明度是否更有效?

css - 在容器 div 内 float div

CSS float 不起作用?

jquery - 无法在 div 内 float 跨度

javascript - 如何将 CSS 仅应用于我的自定义 WordPress 简码?

css - 如何在级联表的右侧放置一个 div - CSS

php - 如何并排放置 2 个单选列

css - -ms-filter 和过滤器 CSS 规则允许的语法