问题
使用 CSS column
-property 在页面上创建列我注意到布局引擎的一些奇怪行为。即,我正在使用
body {
padding: 0;
background-color: black;
margin: 0;
column-width: 308px;
column-gap: 0;
column-rule: none;
line-height: 0;
}
所以每列应该是 308px 宽。我的演示页面看起来非常正常,除了以大约 2400 像素宽度查看时。然后它看起来像这样:
请注意最后一列中的大黑色空间。我的数学告诉我 2400 / 308 = 7.79 > 7。人们会期望在 2400px 视口宽度处出现七列。然而,布局引擎只使用了六个。这种行为在 chrome 和 firefox 之间是一致的,甚至在替换column-width: 308px
为column-count: 7
.
问题
我想知道是什么导致浏览器在这个宽度上忽略第 7 列。有没有办法避免这种行为?
编码
可以使用以下源或此小提琴重现该问题
body {
padding: 0;
background-color: black;
margin: 0;
column-width: 308px;
column-gap: 0;
column-rule: none;
line-height: 0;
}
img {
margin: 12px;
padding: 9px;
border: 1px solid darkgrey;
background-color: white;
display: inline-block;
width: 264px;
}
.w {
height: 176px;
}
.h {
height: 396px;
}
<img class="w">
<img class="w">
<img class="h">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="h">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="h">
<img class="w">
<img class="w">
<img class="h">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="h">
<img class="w">
<img class="w">
<img class="w">
<img class="w">
<img class="h">