【发布时间】:2016-12-16 19:02:18
【问题描述】:
在对 inline-flex 元素应用 clearfix 时,我有一个奇怪的行为。当我为具有 inline-flex 显示属性的元素设置 clearfix 时,奇怪的空白出现在它之前:
但是当使用inline-block 时,行为是不同的:
我不明白为什么inline-flex 的行为与inline-block 不同......以及为什么它有那个奇怪的空间。
.a,
.b {
border: 1px solid red;
}
.a {
text-align: center;
}
.b {
display: inline-flex;
height: 20px;
width: 20px;
}
.cf:before,
.cf:after {
content: " ";
display: table;
}
.cf:after {
clear: both;
}
<div class="a">
<div class="b cf"></div>
</div>
【问题讨论】:
-
一开始你为什么要这么做? Clear fix 是一种可怕的 hack,用于处理使用浮动的黑客布局……而 flexbox 是使用浮动的黑客布局的替代品。
-
@Quentin,嘿,好问题!我发现它不在我的代码中..
-
@Quentin:那种放弃使用 clearfix hack 的人是那种对它的作用缺乏基本了解的人,甚至通常对浮点数缺乏基本了解。