html - 为什么在两个 float 的 div 中只包含内容?

标签 html css

我真的很想了解 float 在 CSS 中的工作原理,但我遇到了很多困难。我尝试的越多,我就越困惑。看看这个例子:

<div class = "block1">hola</div>
<div class = "block2">hola</div>

.block1 {
    width:100px;
    border:1px solid;
    float: left;
    height:400px;
}

.block2 {
    width:300px;
    border:1px solid;
    background-color:red;
}

jsFiddle

为什么第二个 block 的内容与第一个 block 并排,但容器本身却在第一个 block 的正下方并向右扩展?

如果第二个 block 的宽度更大,就会发生这种情况。如果没有,第二个区 block 就会消失。为什么会这样?为什么不是所有的第二 block 都与第一个 block 并排,而是在下面?

最佳答案

首先,当您 float 任何元素时,它会脱离文档的“正常流”。其次,总是在 float 元素上设置宽度被认为是好的。我真的不擅长解释。

Read this

And this

关于html - 为什么在两个 float 的 div 中只包含内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212340/

相关文章:

html - 将表格布局转换为等效的 div

css - Ionic 2 动画(使用 Angular2)=> 来自 variable.scss 的颜色, `Failed to execute ' animate' on 'Element' : Partial keyframes are not supported

html - 如何设置浏览器全宽导航?

html - div 之间的空间 - 显示表格单元格

html - 为什么这些条件注释告诉我 IE8 是 IE7?

html - 使用 CSS 水平和垂直对齐

php - 具有动态相关文件的源代码编辑器可发现Dreamweaver等

html - Bootstrap 两列布局 - 将嵌套列中的字段与文本区域对齐

javascript - 当我单击菜单时,子菜单部分不可见?

javascript - Bootstrap - 输入不考虑网格大小/约束