你可以建立一堆區塊自動填滿瀏覽器,在過去很長的一段時間大家都使用 float
來做流動式的自動排版,但現在你可以選擇 display: inline-block
來實作,這方法會更加簡單。使用 display: inline-block
的元素就像 display: inline
的元素一樣,但你可以設定 width
與 height
屬性。讓我們看看以下的例子:
.box {
float: left;
width: 200px;
height: 100px;
margin: 1em;
}
.after-box {
clear: left;
}
我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>我在漂浮!
</div>
我使用 clear
,所以我不會浮動到上面那堆盒子的旁邊。
你可以用 display: inline-block;
來實現相同效果。
.box2 {
display: inline-block;
width: 200px;
height: 100px;
margin: 1em;
}
我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>我是一個行內元素(inline-block)
</div>
這次我不需要用 clear
屬性了。讚!
要使用 inline-block
你得額外做些事來支援 IE6 和 IE7。有些時候人們談到 inline-block
會觸發所謂 hasLayout
的東西,你只需要知道那是用來支持舊版 IE 瀏覽器用的。如果你對此很感興趣,可以在上面那個超連結中找到更詳細的資訊。否則我們就繼續下去吧。