CSS inline-block屬性概述及其使用示例
發(fā)布時(shí)間:2013-09-06 10:08:17 作者:佚名
我要評(píng)論

Inline-block是元素display屬性的一個(gè)值,inline-block元素跟元素設(shè)置浮動(dòng)后的表現(xiàn)差別并不是很大,本文有個(gè)不錯(cuò)的示例可以讓大家知道它的具體使用,喜歡的朋友可以了解下
Inline-block是元素display屬性的一個(gè)值。這個(gè)名字的由來(lái)是因?yàn)?,可以?jiǎn)單的解釋為inline+block ;display設(shè)置這個(gè)值的元素,兼具行內(nèi)元素( inline elements)跟塊級(jí)元素(block elements)的特征。塊級(jí)元素(block elements)來(lái)源于CSS盒子模型。塊級(jí)元素包含width height,padding,border與margin,他們的排列方式是從上到下排列。 行內(nèi)元素(inline elements)排列方式是水平排列。行內(nèi)塊元素(inline-block elements)在內(nèi)部他的表現(xiàn)類似block元素,比如他擁有block元素的width height,padding,border與margin,而外部的排列方式有類似行內(nèi)元素,即水平排列,而不是像塊級(jí)元素一樣從上到下排列。因此inline-block元素跟元素設(shè)置浮動(dòng)后的表現(xiàn)差別并不是很大。對(duì)盒子設(shè)置浮動(dòng)后,同樣會(huì)水平排列。雖然他們實(shí)現(xiàn)的原理不同,但內(nèi)部表現(xiàn)為塊級(jí)元素,水平排列這種需求,浮動(dòng)跟inline-block都適合實(shí)現(xiàn)。
如何從兩者之間進(jìn)行選擇取決于你的設(shè)計(jì)稿跟解決方法。如果你需要文字環(huán)繞容器,那浮動(dòng)是不二選擇。因?yàn)楦?dòng)元素會(huì)脫離文檔流,并使得周圍元素環(huán)繞這個(gè)元素。而inline-block元素仍在文檔流內(nèi);如果你需要居中對(duì)齊元素,inline-block是個(gè)好選擇,很明顯你不能通過(guò)給父元素設(shè)置text-align:center讓浮動(dòng)元素居中。事實(shí)上定位類屬性設(shè)置到父元素上,均不會(huì)影響父元素內(nèi)浮動(dòng)的元素。但是父元素內(nèi)元素如果設(shè)置了display:inline-block,則對(duì)父元素設(shè)置一些定位屬性會(huì)影響到子元素。
使用inline-block:當(dāng)你需要控制元素的垂直對(duì)齊跟水平排列時(shí),使用inline-block。
使用浮動(dòng):當(dāng)你需要讓元素環(huán)繞某一個(gè)元素時(shí),或者需要支持舊版本ie,或者不想處理inline-block帶來(lái)的空白問(wèn)題時(shí),使用浮動(dòng)。
對(duì)于圖片列表來(lái)說(shuō)。若父元素中的圖片等高,設(shè)置浮動(dòng)就會(huì)工作正常。但一旦有一列圖片比較高時(shí),圖片的排列就會(huì)出現(xiàn)問(wèn)題。這是因?yàn)楦?dòng)后,圖片脫離了文檔流。而inline-block由于未脫離文檔流,不會(huì)出現(xiàn)這個(gè)問(wèn)題。如果你想再創(chuàng)建一列圖片時(shí),不會(huì)受到上一列圖片inline:block的影響,因此也不需要清除浮動(dòng)。而你在使用附送時(shí)則需要時(shí)刻注意清除浮動(dòng),當(dāng)內(nèi)容不斷變化時(shí)這很容易產(chǎn)生bug。
對(duì)比如下:
上圖,把一系列元素設(shè)置了浮動(dòng),因?yàn)楹凶佣?hào)寬度的關(guān)系,可以發(fā)現(xiàn)盒子五號(hào)被擠進(jìn)去了(這些元素都脫離了文檔流),這是圖片排列中很常見(jiàn)的問(wèn)題。
上面的塊級(jí)元素被設(shè)置了inline-block。由于他們沒(méi)有脫離文檔流,所以元素不會(huì)被某個(gè)過(guò)長(zhǎng)的列擠上來(lái)。
如何從兩者之間進(jìn)行選擇取決于你的設(shè)計(jì)稿跟解決方法。如果你需要文字環(huán)繞容器,那浮動(dòng)是不二選擇。因?yàn)楦?dòng)元素會(huì)脫離文檔流,并使得周圍元素環(huán)繞這個(gè)元素。而inline-block元素仍在文檔流內(nèi);如果你需要居中對(duì)齊元素,inline-block是個(gè)好選擇,很明顯你不能通過(guò)給父元素設(shè)置text-align:center讓浮動(dòng)元素居中。事實(shí)上定位類屬性設(shè)置到父元素上,均不會(huì)影響父元素內(nèi)浮動(dòng)的元素。但是父元素內(nèi)元素如果設(shè)置了display:inline-block,則對(duì)父元素設(shè)置一些定位屬性會(huì)影響到子元素。
使用inline-block:當(dāng)你需要控制元素的垂直對(duì)齊跟水平排列時(shí),使用inline-block。
使用浮動(dòng):當(dāng)你需要讓元素環(huán)繞某一個(gè)元素時(shí),或者需要支持舊版本ie,或者不想處理inline-block帶來(lái)的空白問(wèn)題時(shí),使用浮動(dòng)。
對(duì)于圖片列表來(lái)說(shuō)。若父元素中的圖片等高,設(shè)置浮動(dòng)就會(huì)工作正常。但一旦有一列圖片比較高時(shí),圖片的排列就會(huì)出現(xiàn)問(wèn)題。這是因?yàn)楦?dòng)后,圖片脫離了文檔流。而inline-block由于未脫離文檔流,不會(huì)出現(xiàn)這個(gè)問(wèn)題。如果你想再創(chuàng)建一列圖片時(shí),不會(huì)受到上一列圖片inline:block的影響,因此也不需要清除浮動(dòng)。而你在使用附送時(shí)則需要時(shí)刻注意清除浮動(dòng),當(dāng)內(nèi)容不斷變化時(shí)這很容易產(chǎn)生bug。
對(duì)比如下:

上圖,把一系列元素設(shè)置了浮動(dòng),因?yàn)楹凶佣?hào)寬度的關(guān)系,可以發(fā)現(xiàn)盒子五號(hào)被擠進(jìn)去了(這些元素都脫離了文檔流),這是圖片排列中很常見(jiàn)的問(wèn)題。

上面的塊級(jí)元素被設(shè)置了inline-block。由于他們沒(méi)有脫離文檔流,所以元素不會(huì)被某個(gè)過(guò)長(zhǎng)的列擠上來(lái)。
相關(guān)文章
- 這篇文章主要介紹了css幾種解決inline-block間隙的方案(整理),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-16
css解決display:inline-block;產(chǎn)生的縫隙(間隙)的方法
本篇文章主要介紹了css解決display:inline-block;產(chǎn)生的縫隙(間隙)的方法,具有一定的參考價(jià)值,有需要的可以了解一下。2016-12-14- 這篇文章主要介紹了兼容瀏覽器的inline-block,需要的朋友可以參考下2016-02-17
深入解析CSS的display:inline-block屬性的使用
這篇文章主要介紹了CSS的display:inline-block屬性的使用,其中對(duì)使用時(shí)產(chǎn)生的空隙問(wèn)題的解決作了重點(diǎn)講解,需要的朋友可以參考下2015-11-09CSS中使用inline-block來(lái)進(jìn)行居中的示例
這篇文章主要介紹了CSS中使用inline-block來(lái)進(jìn)行居中的示例,使用的時(shí)候注意一下容器的寬度,需要的朋友可以參考下2015-07-15CSS屬性display:inline-block用法深入理解
本文向大家描述一下CSS屬性display:inline-block的用法,在使用CSS實(shí)現(xiàn)表現(xiàn)的時(shí)候,會(huì)經(jīng)常接觸到display:inline-block這一屬性;可以將對(duì)象呈遞為內(nèi)聯(lián)對(duì)象,但是對(duì)象的內(nèi)容作2012-12-30inline-block空隙之css letter-spacing與字體大小/字體關(guān)系數(shù)據(jù)表
本文提供inline-block空隙--letter-spacing與字體大小/字體關(guān)系數(shù)據(jù)表,需要的朋友可以參考下2012-12-09使用font-size:0px 來(lái)制作跨瀏覽器的inline-block css屬性
像下面圖中的布局,如果排列的元素是登高的話,相信很多人都會(huì)使用浮動(dòng)來(lái)布局,不過(guò)如果元素不等高的話,不添加多余的標(biāo)簽,浮動(dòng)布局是很難實(shí)現(xiàn)下圖中的效果。如果遇到這種2011-07-29display:inline | block |inline-block-CSS教程-網(wǎng)頁(yè)制作-網(wǎng)頁(yè)教學(xué)網(wǎng)
display:block就是將元素顯示為塊級(jí)元素. block元素的特點(diǎn)是: 總是在新行上開(kāi)始; 高度,行高以及頂和底邊距都可控制; 寬度缺省是它的容器的100%,除非設(shè)定一個(gè)寬2008-10-17- 這篇文章主要介紹了詳解CSS 去掉inline-block元素間隙的幾種方法,這些間隙會(huì)導(dǎo)致一些布局上的問(wèn)題,需要把間隙去掉。非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-11-13