CSS显示:内联块下降到下一行

时间:2016-09-05 18:14:28

标签: html css

我正在测试一个简单的网格。

我决定在属性选择器float: left中将display: inline-block更改为[class*='col-]

我想知道为什么在使用float: leftcol-9有足够的空间并且一切正常但是,当使用display: inline-block时,元素会下降到下一行。



* {
    box-sizing: border-box;
}

.header {
	border: 1px solid red;
	padding: 15px;
}

.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

[class*='col-'] {
	display: inline-block;
	padding-top: 15px;
	border: 1px solid red;
}

	<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>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:5)

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

小黑客,尝试这些<!-- -->它会忽略空白

编辑,如果您想删除标题中的微小差距:

.col-9 {
  vertical-align: top;
}

demo

答案 1 :(得分:2)

@ Thielicious的答案有一个很好的解决方案。以下是

的解释和答案
  

我想知道为什么在使用float: left时,col-9有足够的空间,一切正常但是,当使用display: inline-block时,元素会下降到下一行。

inline-block元素之间的空格会占用呈现页面上的空间。

Chris Coyier给出了a run down of different ways to get around this(包括html评论的方法,如Thielicious&#39的答案,以及其他一些HTML技巧和CSS方法)