css - 当我们将 float 赋予父元素以清除 float 时,为什么 float 与其他选项的行为不同?

标签 css xhtml

在这个例子中http://jsbin.com/inoka4没有为父元素定义宽度

如果我想在容器边框中包裹红色框。

那么我们可以用5种方式来实现

  • 给予float也给<div class="container">
  • overflow:hiddenoverflow:auto
  • <div class="container clearfix"> 的任何 clearfix hack
  • 将高度赋予 <div class="container">
  • 在 2 之后再添加一个 html 元素(例如另一个 div<br > ) <div class="container"> 中的盒子在此处输入代码 and give 清除:左or :两者or :正确的 元素

我的问题是除了float之外的任何其他选项不要对 <div class="container"> 进行任何更改和内盒宽度。但如果我们使用 float:leftright到父框然后它会缩小整个框和内部框。

为什么?

示例链接:http://jsbin.com/inoka4

编辑:我的问题不是我应该使用哪种方法,问题是为什么 Float 缩小宽度

最佳答案

我认为更好的选择是使用 overflow:hidden。这是一个简单的一行更改,并且有效。

div#container {
    ...
    overflow: hidden;
}

添加额外的 div 以进行明确修复需要更改 html 以获取真正的 css。或者,当通过像...这样的 hack 使用 clear fix 时。

div:after {
    content:....
    ...
}

您的 CSS 变得更大更困惑。但它仍然是一个不错的选择(尤其是当你需要让东西溢出盒子的时候)

引用: http://net.tutsplus.com/tutorials/html-css-techniques/css-fudamentals-containing-children/

关于css - 当我们将 float 赋予父元素以清除 float 时,为什么 float 与其他选项的行为不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3223714/

相关文章:

css - 如何在 <li> 元素符号背景下垂直空格?

悬停时的 CSS 问题 - 摇晃效果

jquery - 如何使两个div之间的差距固定?

javascript - 制作两个不同颜色的 Materialise 开关

css - rails 5 : form_for select field tag with select class

jquery - 菜单样式 "...."- 用句点填写

jquery - 隐藏层 youtube 视频,在可见不加载 IE7

jquery - 近乎完美的 Jquery slider 的微小修改

css - 如何布局具有 1 个输入字段 + 提交按钮的表单,以便 <form> 和 <fieldset> 背景不会发光?

javascript - 从 java 脚本调用 primefaces 上下文菜单