CSS column-count 没有填满整个区域

标签 css column-count

我正在尝试使用 css3 规则 column-count 在 8 列中显示元素。但是,有时显示 6,有时显示 7。我尝试为元素设置特定宽度,但似乎没有任何效果。

Click here to see the Fiddle

body {margin: 0;}
.container {
  margin: auto;
  padding: 0 15px;
  background: #eee;
}
@media (min-width: 768px) {
  .container {width: 750px;}
}
@media (min-width: 992px) {
  .container {width: 970px;}
}
@media (min-width: 1200px) {
  .container {width: 1170px;}
}
.brick-wall {
  -webkit-column-gap: 0;
  -webkit-column-fill: balance;
  -moz-column-gap: 0;
  -moz-column-fill: balance;
  column-gap: 0;
  column-fill: balance;
  -webkit-column-count: 8;
  -moz-column-count: 8;
  column-count: 8;
}
.brick {
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  column-break-inside: avoid;
  text-align: center;
}
.brick-wall .brick .brick-content {
  border: 1px solid #000;
  display: inline-block;
  vertical-align: top;
  width: 95%;
  margin: 5px 0;
}
<div class="container">
  <div class="brick-wall">
    <script type="text/javascript">
      for(i = 0;i < 17;i++) document.write('<div class="brick"><div class="brick-content"><br/>' + (i + 1) + '<br/></div></div>');
    </script>
  </div>
</div>

最佳答案

使用 flex 布局将解决列布局的问题

.brick-wall{
 display: flex;
 font-size:18px;
  flex-wrap: wrap;
 }
 .brick {
   width: 11.5%;
   margin: .5%;
   text-align: center;
   border: 1px solid #000;
   display: block;
 }

https://jsfiddle.net/yh4yvoe3/9/

关于CSS column-count 没有填满整个区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38178459/

相关文章:

javascript - 如何使用 javascript 中的坐标突出显示字符串中的单词?

javascript - D3.js 边缘包图表不会显示在 CSS 网格位置内

javascript - 垂直自定义悬停(如果不单击)CSS 选项卡,带/不带 javascript

css - 使用列数,如果分辨率较小,您可以动态地将 3 列更改为 2 列吗?

CSS:@media print & column-count 根本不起作用

jquery - FilmRoll jQuery 轮播 - 第一次加载不工作

html - 如何分配 div 2 显示属性?

css - 列数在 chrome 的字段中不起作用

html - Chrome 在使用 column-count 时为其容器添加了额外的空间