css display inline block 兼容性問題寫法

IE6、IE7不識別inline-block但可以觸發(fā)塊元素。
其它主流瀏覽器均支持inline-block。
解決IE6、IE7兼容性的方法:
1、首先設置inline-block觸發(fā)塊元素,具有了layout的特性,然后設置display:inline使塊元素呈現(xiàn)內(nèi)聯(lián)元素,此時layout的特性不會消失。
2、直接設置display:inline,使用zoom:1觸發(fā)layout。
兼容所有瀏覽器的方法是:
- display:inline-block; /* 現(xiàn)代瀏覽器 +IE6、7 inline 元素 */
- *display:inline; /* IE6、7 block 元素 */
- *zoom:1;
下面簡單介紹下:
1、實例演示效果
2、display:inline-block作用?
使用display:inline-block屬性,可以使行內(nèi)元素或塊元素能夠變成行內(nèi)塊元素,簡單直白點講就是不加float屬性就可以定義自身的寬、高,同時又能使該元素輕松在父元素居中顯示!
3、什么時候會用到display:inline-block?
在網(wǎng)站布局中,很多時候,子元素中使用行內(nèi)元素如span或塊元素li標簽且標簽個數(shù)不定,而我們又想讓這一塊不管個數(shù)有多少個(子元素的總體寬度不定),始終都能居中顯示!這個時候display:inline-block就能派上用場了!
4、ie6/7支持display:inline-block這個屬性嗎?
在內(nèi)聯(lián)元素上定義display:inline-block屬性,發(fā)現(xiàn)IE6、IE7中的顯示效果同其它瀏覽器一致,但事實是ie7及更低版本的ie瀏覽器不支持display:inline-block這個屬性!
正確的解釋是"使用inline-block屬性在IE下會觸發(fā)layout,因此元素上設置的width、height是能生效的,所以也就有了同其它瀏覽器一致的顯示效果",而不能說IE6/7支持 display:inline-block!
5、行內(nèi)元素只需定義display:inline-block,顯示效果各瀏覽器都是一致,IE7下塊元素如何實現(xiàn) display:inline-block 的效果??
在IE下,display: inline-block只是觸發(fā)了元素的layout。比如將display: inline-block設置到div上,只能保證這個div擁有塊元素的特征(可以設置寬度,高度等),但還是會產(chǎn)生換行。接下來要設置display: inline,使其不產(chǎn)生換行。將display:inline-block;*display:inline;寫在同一個樣式上,inline-block屬性是不會觸發(fā)元素的layout的,因此我們還要額外加上 *zoom:1來觸發(fā)layout!
6、IE7下塊元素如何兼容 display:inline-block寫法?
實際有效的方法共有2種:
方法1:直接讓塊元素設置為內(nèi)聯(lián)對象呈遞(設置屬性 display:inline),然后觸發(fā)塊元素的 layout(如:zoom:1 等)。兼容各瀏覽器的代碼如下: div {display:inline-block;*display:inline; *zoom:1;...}
方法2:先使用 display:inline-block 屬性觸發(fā)塊元素,然后再定義 display:inline,讓塊元素呈遞為內(nèi)聯(lián)對象(兩個display 要先后放在兩個 CSS 樣式聲明中才有效果,這是 IE 的一個經(jīng)典 bug ,如果先定義了 display:inline-block,然后再將 display 設回 inline 或 block,layout 不會消失)。代碼如下(…為省略的其他屬性內(nèi)容): div {display:inline-block;...}div {*display:inline;}
7、display:inline-block元素間會產(chǎn)生多余空白怎么解決?
display:inline-block元素間會產(chǎn)生多余空白,這是inline-block本身特性!
嚴格來講不算BUG,使用font-size設置可以解決,解決display:inline-block元素間多余空白的相關文章:http://chabaoo.cn/css/76707.html
相關文章
css之display屬性之inline-block布局實現(xiàn)詳解
今天學習css樣式的時候發(fā)現(xiàn)很多網(wǎng)站都是用css的display:inline-block這個屬性,這里剛好有篇特別好的解釋,特分享一下2020-03-21- 這篇文章主要介紹了詳解css中inline-block的最小寬度值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起2019-12-09
- 這篇文章主要介紹了詳解CSS 去掉inline-block元素間隙的幾種方法,這些間隙會導致一些布局上的問題,需要把間隙去掉。非常具有實用價值,需要的朋友可以參考下2018-11-13
- 這篇文章主要介紹了css幾種解決inline-block間隙的方案(整理),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-16
詳解CSS中的display:flex||inline-flex屬性
這篇文章主要給大家介紹了CSS中的display:flex和display:inline-flex屬性,文中分別通過兩段實例代碼給大家介紹了display:flex和display:inline-flex的使用效果,感興趣的2016-12-20css解決display:inline-block;產(chǎn)生的縫隙(間隙)的方法
本篇文章主要介紹了css解決display:inline-block;產(chǎn)生的縫隙(間隙)的方法,具有一定的參考價值,有需要的可以了解一下。2016-12-14css中轉(zhuǎn)換為行內(nèi)樣式的解決方案(css-inline)
這篇文章主要介紹了css中轉(zhuǎn)換為行內(nèi)樣式的解決方案(css-inline),主要通過css-inline解決,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒2020-05-15