摘要:代碼如下為省略的其他屬性內(nèi)容直接讓塊元素設(shè)置為內(nèi)聯(lián)對象呈遞設(shè)置屬性,然后觸發(fā)塊元素的如或?qū)傩缘取?/p>
需求
無論是電商網(wǎng)站展示商品列表還是個人博客展示文章列表,或者是社交站點(diǎn)展示好友列表,往往會遇到自適應(yīng)列表布局的需求,本文介紹一種使用inline-block布局的方法。
block,inline和inlinke-block細(xì)節(jié)對比● display:block
a. block元素會獨(dú)占一行,多個block元素會各自新起一行。默認(rèn)情況下,block元素寬度自動填滿其父元素寬度。 b. block元素可以設(shè)置width,height屬性。塊級元素即使設(shè)置了寬度,仍然是獨(dú)占一行。 c. block元素可以設(shè)置margin和padding屬性。
● display:inline
a. inline元素不會獨(dú)占一行,多個相鄰的行內(nèi)元素會排列在同一行里,直到一行排列不下,才會新?lián)Q一行,其寬度隨元素的內(nèi)容而變化。 b. inline元素設(shè)置width,height屬性無效。 c. inline元素的margin和padding屬性,水平方向的padding-left, padding-right, margin-left, margin-right都產(chǎn)生邊距效果;但豎直方向的padding-top, padding-bottom, margin-top, margin-bottom不會產(chǎn)生邊距效果。
● display:inline-block
a. 簡單來說就是將對象呈現(xiàn)為inline對象,但是對象的內(nèi)容作為block對象呈現(xiàn)。之后的內(nèi)聯(lián)對象會被排列在同一行內(nèi)。比如我們可以給一個link(a元素)inline-block屬性值,使其既具有block的寬度高度特性又具有inline的同行特性。IE6/IE7下對display:inline-block的支持性不好
1、inline元素的display屬性設(shè)置為inline-block時,所有的瀏覽器都支持;
2、block元素的display屬性設(shè)置為inline-block時,IE6/IE7瀏覽器是不支持的;
對象呈遞為內(nèi)聯(lián)對象,但是對象的內(nèi)容作為塊對象呈遞。旁邊的內(nèi)聯(lián)對象會被呈遞在同一行,允許空格。(準(zhǔn)確地說,應(yīng)用此特性的元素現(xiàn)為內(nèi)聯(lián)對象,周圍元素保持在同一行,但可以設(shè)置寬度和高度等塊元素的屬性) IE中對內(nèi)聯(lián)元素使用display:inline-block,IE是不識別的,但使用display:inline-block在IE下會觸發(fā)layout,從而使內(nèi)聯(lián)元素?fù)碛辛薲isplay:inline-block屬性的表征。從上面的這個分析,也不難理解為什么IE下,對塊元素設(shè)置display:inline-block屬性無法實(shí)現(xiàn)inline-block的效果。這時塊元素僅僅是被display:inline-block觸發(fā)了layout,而它本身就是行布局,所以觸發(fā)后,塊元素依然還是行布局,而不會如Opera中塊元素呈遞為內(nèi)聯(lián)對象。IE6下塊元素如何實(shí)現(xiàn)display:inline-block的效果?
有兩種方法:
1、 先使用display:inline-block屬性觸發(fā)塊元素,然后再定義display:inline,讓塊元素呈遞為內(nèi)聯(lián)對象(兩個display 要先后放在兩個CSS聲明中才有效果,這是IE的一個經(jīng)典bug,如果先定義了display:inline-block,然后再將display設(shè)回 inline或block,layout不會消失)。代碼如下(...為省略的其他屬性內(nèi)容):
div {display:inline-block;...}
div {display:inline;}
2、直接讓塊元素設(shè)置為內(nèi)聯(lián)對象呈遞(設(shè)置屬性display:inline),然后觸發(fā)塊元素的layout(如:zoom:1 或float屬性等)。代碼如下:
div { display:inline-block; _zoom:1;_display:inline;} /推薦/
div { display:inline-block; _zoom:1;display:inline;} /推薦:IE67*/
text-jusyify下的inline-block自適應(yīng)列表布局 text-jusyify下的inline-block自適應(yīng)列表布局實(shí)例頁面
這是一段文字描述
這是一段文字描述,另外一些描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
這是一段文字描述
效果
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/115740.html
CSS-Layout 旨在打造詳盡的前端布局代碼學(xué)習(xí)庫(自從用了框架開發(fā),CSS生疏了不少,所以開這個庫練練手)SF不能正確解析含有中文的網(wǎng)址,所以某些預(yù)覽鏈接無法跳轉(zhuǎn),請訪問我的博客閱讀此文 常見定位方法 水平居中 子元素為行內(nèi)元素還是塊狀元素,寬度一定還是寬度未定,采取的布局方案不同。 方案選擇基本思路:子元素為 行內(nèi)元素:對父元素設(shè)置text-align:center; 定寬塊狀元素: 設(shè)...
摘要:接下來我會以行列的圖片列表為列子介紹兩種常用的切圖方案布局布局首先來講布局的方法布局非常簡單,一般我會使用布局然后給每個元素定一個寬度并向左浮動。是不是很簡單詳細(xì)代碼可以參考下一篇文章圖片列表布局二關(guān)注作者吧 前端切圖的時候經(jīng)常會遇到圖片布局,初學(xué)者可能會比較生疏。接下來我會以3行3列的圖片列表為列子介紹兩種常用的切圖方案: showImg(https://segmentfault.c...
摘要:接下來我會以行列的圖片列表為列子介紹兩種常用的切圖方案布局布局首先來講布局的方法布局非常簡單,一般我會使用布局然后給每個元素定一個寬度并向左浮動。是不是很簡單詳細(xì)代碼可以參考下一篇文章圖片列表布局二關(guān)注作者吧 前端切圖的時候經(jīng)常會遇到圖片布局,初學(xué)者可能會比較生疏。接下來我會以3行3列的圖片列表為列子介紹兩種常用的切圖方案: showImg(https://segmentfault.c...
摘要:因為端和移動端布局差異較大,所以我將兩端布局分開講,本文章將針對端的布局進(jìn)行講解,以下代碼只寫關(guān)鍵代碼。為了提高網(wǎng)頁性能,考慮到,表格元素盡量少用,有其他選擇的情況盡量用其他布局。 前言 此文章是 解剖CSS布局原理 的續(xù)集,之前那篇文章講的都是理論,本文章講具體的實(shí)例,根據(jù)自己對布局的理解與開發(fā)經(jīng)驗分為以下幾類。 因為PC端和移動端布局差異較大,所以我將兩端布局分開講,本文章將針對P...
閱讀 3555·2023-04-25 16:35
閱讀 686·2021-10-11 11:09
閱讀 6136·2021-09-22 15:11
閱讀 3352·2019-08-30 14:03
閱讀 2590·2019-08-29 16:54
閱讀 3343·2019-08-29 16:34
閱讀 3042·2019-08-29 12:18
閱讀 2113·2019-08-28 18:31