轉載!原文地址:http://www.javashuo.com/article/p-pmpepudv-ns.htmlcss
inline-block前端程序猿們確定不陌生,它是display屬性的一個取值。html
之因此稱之爲inline-block。是由於它兼具行內元素(inline-element)和塊級元素(block-element)的特徵。前端
Replaced element 置換元素瀏覽器
說到這,有必要提的就是置換元素。何爲置換元素,在html中,有類特殊的元素如:wordpress
<img>|<input>|<button>|<select>|<textarea>|<label>佈局
他們被稱爲可置換元素(Replaced element)。他們區別通常inline元素(相對而言,稱non-replaced element)是:這些元素擁有內在尺寸(intrinsic dimensions),他們能夠設置width/height屬性。他們的性質同設置了display:inline-block的元素一致。上述六個標籤在現代瀏覽器中即爲天生的inline-block元素。post
包裹性網站
包裹性的另外一種說法就是讓元素inline-block化。意思是默認狀況下一個div的寬度是以100%顯示的,而一旦給這個div添加了postion:absolute屬性,則100%的默認寬度會變成自適應的內部元素寬度。而諸如:spa
overflow | position:absolute | float:left/right 等均可以讓元素inline-block化產生包裹性。.net
而包裹性的做用不少,其中一個是可使用其來清除元素的浮動。
inline-block的做用
css佈局建立網站,浮動絕對佔據了很大的比例.大塊區域如主內容及側邊欄,以及在其中的小塊區域,均可以看到浮動的影子。只是浮動常常會產生一些問題,那麼問題來了?浮動是惟一的解決方案嗎?
浮動一般表現正常,但有時候搞起來會很糾結。特別是處理內部容器中的浮動,好比對一排圖片使用浮動後對齊出現問題。So,inline-block是咱們的另外一種選擇。使用這種屬性能夠模擬部分浮動的特徵,而不須要處理一些浮動帶來的問題。
這裏極力推薦一篇張鑫旭的文章:拜拜了浮動佈局-基於display:inline-block的列表佈局。文章講解的很是透徹,也將使用inline-block須要解決的兼容問題給出了十分詳盡可靠的解決方案。
inline-block和float的區別
雖然設置浮動跟設置inline-block有些特徵相似,但二者的區別仍是很是明顯的: