天天看點

web标準技術文章--2

從以前的老家遷移過來的

澄清display:inline;與float:left;的用途

這樣的題目顯得有點可笑,但是鑒于很多網友在标準學習的過程中常被這樣的問題所困擾(例一、例二),是以特此專文澄清兩者之間的差別與特性。

首先我們要明确,display:inline;與float:left;正确含義。display:inline;(内聯)《CSS權威指南》中文字顯示:任何不是塊級元素的可見元素都是内聯元素。其表現的特性是“行布局”形式,這裡的“行布局”的意思就是說其表現形式始終以行進行顯示。比如,我們設定一個内聯元素border-bottom:1px solid #000;時其表現是以每行進行重複,每一行下方都會有一條黑色的細線。如果是塊級元素那麼所顯示的的黑線隻會在塊的下方出現。

當然這看起來不像是display:inline;與float:left;的差別所在,但是當了解了float:left;的特性那麼我們就清楚到底是怎麼回事了。float:left;(左浮動)他使得指定元素脫離普通的文檔流而産生的特别的布局特性。并且FLOAT必需應用在塊級元素之上,也就是說浮動并不應用于内聯标簽。或者換句話來說當應用了FLOAT那麼這個元素将被指定為塊級元素。

那麼我們很清楚了,内聯(display:inline;)元素不能設定寬高,因為内聯屬于行布局,其特性是在一行裡進行布局,是以不能被設定寬高。