Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS column-count doesn't fill the whole area

I'm trying to display items in 8 columns with css3 rule column-count. However, sometimes it shows 6, sometimes 7. I tried to set a specific width for the items, and nothing seems to work.

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>
like image 618
Ditto Avatar asked Jul 04 '16 06:07

Ditto


1 Answers

Using flex layout will solve the issues with column layout

.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/

like image 157
Nitha Avatar answered Sep 30 '22 11:09

Nitha