【发布时间】:2017-03-25 16:00:37
【问题描述】:
我在使用 CSS3 列时遇到问题,它们在 Chrome 53.0.2785 中无法正常工作 - 它们在 Firefox 49、IE11、EDGE 38.14393 中无法正常工作
我的“容器”DIV 的前两个子 DIV 在 Chrome 中显示在彼此下方,但在 Firefox 中彼此相邻
HTML:
<div class="container">
<div>
Some content 1
</div>
<div>
Some content 2
</div>
</div>
CSS:
* {
box-sizing: border-box;
}
.container {
column-width: 100px;
column-gap: 12px;
}
.container > div {
display: inline-block;
width: 100px;
border: 1px solid black;
padding: 20px;
}
在这里测试:https://jsfiddle.net/s7cfbqzt/3/
现在,Chrome 中发生了一些奇怪的事情:
-
如果我只删除“display: inline-block”,Chrome 会分解 DIV(甚至边框也会分布) - Firefox 不会
- 请注意,我不能在父级中设置列数(与删除内联块相结合似乎有点工作),因为它应该是一个流畅的布局。每个 DIV 的高度也是动态的,所以如果这是一个要求,我必须为此编写一些 JS(但我更愿意让它在没有 JS 的情况下工作)。
如果我删除边框大小和子 DIV 的所有属性,它会按预期工作,但是一旦我开始用其他内容(可能有边框或填充或框阴影)填充内部 DIV ,它又坏了
如果我添加第三个子 DIV
<div>Some content 3</div>
Chrome中会有列,但显示为
1..3
2
第四个 DIV 将显示在 DIV3 下方,第五个 DIV 再次显示在第一“行”中。
1..3..5
2..4
这是 Chrome 中的错误还是我做错了什么?
【问题讨论】:
标签: html css google-chrome css-multicolumn-layout