I have a simple grid that I am testing out.
I decided to change something from float: left
to display: inline-block
in the attribute select
<div class='header'>
<h1>China</h1>
</div>
<div class='row'>
<div class='col-3'>
<ul>
<li>The Flight</li>
<li>The City</li>
<li>The Island</li>
<li>The Food</li>
</ul>
</div><!--
--><div class='col-9'>
<h1>The City</h1>
<p>Chania is the capital of the Chania region on the island of Crete. The city can be divided in two parts, the old town and the modern city.</p>
<p>Resize the browser window to see how the content respond to the resizing.</p>
</div>
</div>
small hack, try these <!-- -->
it ignores the whitespace
EDIT: and if you want to remove the tiny gap to your header:
.col-9 {
vertical-align: top;
}
demo
@Thielicious's answer has a fine solution. Here's the explanation, and the answer to your
I am wondering why when using
float: left
there is enough space forcol-9
and everything works fine but, when usingdisplay: inline-block
the element drops down to the next line.
Whitespace between inline-block
elements takes up space on the rendered page.
Chris Coyier gives a run down of different ways to get around this (includes the method of html comments, as in Thielicious's answer, as well as some other HTML tricks and CSS methods)