What is the best way (without js) to make all cells align (ie, have three cells per row in this case).
HTML
<ul id="list">
<li>Line1 this is a very long line that will break the layout</li>
<li>Line2</li>
<li>Line3</li>
<li>Line4 this is a very long line that will break the layout</li>
<li>Line5</li>
<li>Line6</li>
<li>Line7 this is a very long line that will break the layout</li>
<li>Line8</li>
<li>Line9</li>
</ul>
CSS
#list li{
float: left;
width: 33%;
border: 1px #000 solid;
}
Result
It can all be seen in this Fiddle.
The number of items per line may change (ie, I don't know where the new line will start), and the height of each is variable (ie, cannot force height).
The CSS float property is used to set or return the horizontal alignment of elements. But this property allows an element to float only right or left side of the parent body with rest of the elements wrapped around it. There is no way to float center in CSS layout.
Use CSS property to set the height and width of div and use display property to place div in side-by-side format. float:left; This property is used for those elements(div) that will float on left side. float:right; This property is used for those elements(div) that will float on right side.
The float CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning).
You can use vertical-align
to ensure that the text of the blocks are always at the top regardless of height.
#list li {
display:inline-block;
vertical-align:top;
}
https://css-tricks.com/almanac/properties/v/vertical-align/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With