【问题标题】:Floated div not taking full width浮动 div 不占用全宽
【发布时间】:2014-07-09 00:02:01
【问题描述】:

为什么浮动 div 不占用全宽?不还是块元素吗?

这是一个例子http://jsfiddle.net/GKjC8/

html

<div id="a">a</div>
<div id="b">b</div>

css

div {
    background-color:cyan;
}
#a {
    float:left;
}
#b {
    clear:left;
}

a div 看起来像 inline,因为它占用的空间与其内容一样多。谁能解释一下?

【问题讨论】:

  • 因为这正是浮动的作用。如果您想要全宽,请添加 width:100% 规则。

标签: html css css-float


【解决方案1】:

你必须设置宽度:

#a {
   float: left;
   width: 100%;
}

“您应该始终为浮动项目设置宽度(除非已应用 直接到图像 - 它具有隐式宽度)。如果没有设置宽度, 结果可能无法预测。” Floatutorial: Float Basics

fiddle

【讨论】:

  • 但是他们为什么会那样做呢?这就是我想要理解的
【解决方案2】:

这是因为 float 元素的行为类似于将display: inline-block 应用于它。它们扩展到其内容宽度。

正如@Alek 所说,如果要手动设置宽度,则需要显式设置。

您可以查看this stackoverflow question了解更多信息

【讨论】:

    猜你喜欢
    • 2011-04-07
    • 2011-11-02
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多