I would strongly consider using display: flex
for this instead, since float
is going the way of the dinosaurs.
To fix what you have, you need to make sure the 1,4,7, etc. element can clear longer elements. Added:
.kolumn:nth-child(3n+1) {
clear: left;
}
Removed the media query so you can see it in the snippet window.
.kolumn {
float: left;
width: 30%;
padding: 8px;
}
.kolumn:nth-child(3n+1) {
clear: left;
}
.feed-lists {
list-style-type: none;
border: 1px solid #eee;
margin: 0;
padding: 0;
-webkit-transition: 0.3s;
transition: 0.3s;
}
.feedlists li {
border-bottom: 1px solid #eee;
padding: 9px;
text-align: center;
}
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
Here's a flex
example:
* {
box-sizing: border-box;
}
.wrap {
display: flex;
flex-wrap: wrap;
}
.kolumn {
padding: 8px;
flex: 1 0 33.3333%;
}
.feed-lists {
list-style-type: none;
border: 1px solid #eee;
margin: 0;
padding: 0;
-webkit-transition: 0.3s;
transition: 0.3s;
}
.feedlists li {
border-bottom: 1px solid #eee;
padding: 9px;
text-align: center;
}
@media only screen and (max-width: 600px) {
.kolumn {
flex: 0 0 100%;
}
}
<div class="wrap">
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
<div class="kolumn">
<ul class="feed-lists">
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
<li class="feed-item">
<div class="feed-title"> Title Text Goes here </div>
</li>
</ul>
</div>
</div>
Here I added a wrap
element with display: flex
and flex-wrap: wrap
to make sure elements wrap:
Then, each .kolumn
gets a flex: 1 0 33.3333%
property - which is shorthand for flex-grow: 1, flex-shrink: 0, flex-basis: 33.333%
- flex-basis is essentially the flex equivalent to width.
Some really good reading on flex:
https://css-tricks.com/snippets/css/a-guide-to-flexbox/