關於ie7下display:inline-block實例教學

零下一度
發布: 2017-06-24 11:22:03
原創
1783 人瀏覽過

關於ie7下display:inline-block;不支援的解決方案

今天碼的時候遇到這個問題了。

如果本身是內嵌元素的,把它的display屬性設定為inline-block時,所有瀏覽器都是支援的。

相反,如果本身是區塊級元素的,把它設為display:inline-block;  那麼ie6/ie7都是不支援的。

IE中對內聯元素使用display:inline-block,IE是不識別的,但使用display:inline-block在IE下會觸發layout,從而使內聯元素擁有了display:inline-block屬性的表徵。

這時區塊元素只是被display:inline-block觸發了layout,而它本身就是行佈局,所以觸發後,區塊元素依然還是行佈局,而不會如Opera中區塊元素呈現為內嵌物件。

解決方案:

1.(這個是我這次使用的)

直接讓區塊元素設定為內聯物件呈現(設定屬性display:inline),然後觸發區塊元素的layout(如:zoom:1 或float屬性等)。代碼如下:
  /*推薦:IE6、7*/ div { 

                     #                之後# c                                 *zoom:1;

##     inline;

                               }

##三者缺一不可

        /*建議*/div {

##                  問題# #                         _zoom:1;

     與                      } 

2 、(copy過來)

先使用display:inline-block屬性觸發區塊元素,然後再定義display:inline,讓區塊元素呈現為內聯物件(兩個display 要先後放在兩個CSS宣告中才有效果,這是IE的一個經典bug,如果先定義了display:inline-block,然後再將display設回inline或block,layout不會消失)。程式碼如下(...為省略的其他屬性內容): 

div {display:inline-block;...} 
div {display :inline;}

 
####

以上是關於ie7下display:inline-block實例教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板