【发布时间】:2016-11-28 04:41:11
【问题描述】:
根据 Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) 规范,
当一个元素被赋予一个非浮动属性时,它会隐式地将显示设置为块,但在我看来,它的行为就像一个内联块元素,因为它不需要 100% 的父级宽度。
一个例子:
这两个蓝色 blox 浮动到左侧,因此它们隐式设置为 display:block 但它们没有占据包装 div 的整个宽度(红色矩形)。
HTML 代码
<div class="wrapper cf">
<div class="box"></div>
<div class="box"></div>
</div>
CSS 代码
.wrapper {
background-color: red;
padding: 10px;
}
.box {
margin: 10px;
height: 100px;
width: 100px;
background: lightblue;
float: left;
}
.cf:after {
content: "";
display: block;
clear: both;
}
【问题讨论】:
-
能否请您显示上述示例的完整代码?
-
@JonathanLam 完成!
-
您不是将
width明确定义为100px吗?因此,它们不应占据红色矩形的整个宽度。 -
@JonathanLam 定义块元素的宽度不允许其他元素在它旁边,它仍然“保留”它的父元素的整个宽度
-
块级元素填充其容器全宽的规则仅适用于block-level elements in normal flow。浮点数不正常,有their own width rules
标签: css