display:inline-block感覺與display:table-cell有些相似,例如對內部元素的包裹性。但是,由于display:inline-block最大的不同就是其沒有父元素的匿名包裹特性,這使得display:inline-block屬性的使用非常自由,可與文字,圖片混排,可內嵌block屬性元素,可以可以置身于inline水平的元素中??芍^黑白通吃,左右逢源。
inline-block屬性的元素適用于inline box模型,所以,當其中的列表元素高度不一時,是不會有錯位的。每一行所有的inline元素和inline-block元素會共同形成一個line boxes,這個line box的高度由里面最高的元素決定。所以,即使inline-block屬性的列表元素高度異常,撐開的是整個line boxes的高度,因而,不會與下一行的列表元素發生錯位。如下面的我自己畫得拙劣的示意圖所示的:
根據一些前輩的說法,IE6/7不支持display:inline-block屬性,只是可以讓標簽有類似于inline-block的屬性,起初我也是接受這種說法的,不過后來又表示了懷疑,最近使用text-align:justify;做測試的時候的一些樣式表現證實了:確實IE6/7是不支持display:inline-block屬性,只是讓其表現的跟inline-block一樣,尤其對于inline水平的元素,其表現度可以用perfect一詞來形容了。
對于IE8+以及現代瀏覽器,直接使用:
新聞熱點
疑難解答