有關inline-block

1、display的三個經常使用值瀏覽器

     display:block;   將元素顯示爲塊級元素。其高度、行高以及頂和底邊距均可控制。寬度缺省是它的容器的100%,除非設定一個寬度。字體

     display:inline;   將元素顯示爲行內元素。和其餘元素都在一行上,高、行高以及頂和底邊距不可設置。寬度就是它的文字或圖片的寬度,不可改變。spa

     display:inline-block;    格式化爲行內元素的塊容器。將對象呈遞爲內聯對象,可是對象的內容做爲塊對象呈遞。旁邊的內聯對象會被呈遞在同一行內,容許空格。準確來講,應用此特性的元素呈現爲內聯對象,但能夠設置高度和寬度等塊級元素屬性。注意在設置margin:0 auto;時沒效果,由於它呈現的是內聯對象,佔據的不是一整行。orm

2、inline-block對象

     一、瀏覽器兼容問題:圖片

         1)IE從5.5就開始支持display:inline-block;,只是支持的並非那麼的完善;ci

         2)IE6中inline元素只要觸發了haslayout其表現就相似於inline-block容器

         3)IE6中block元素即便觸發了haslayout也不能具備inline-block元素不換行的特性,必須先將其強制轉換爲inline元素,再觸發haslayout方法

         兼容各瀏覽器的寫法:layout

                                    display:inline-block;     //現代瀏覽器 和 IE六、7 的inline元素

                                    *display:inline;     //IE六、7 block元素

                                    *zoom:1;        //IE六、7 的inline元素觸發haslayout

         解決IE六、7 block元素表現爲inline-block還有一種方法:

                                     .content {

                                            display:inline-block;   //先觸發其haslayout

                                      }

                                      .content {

                                            *display:inline;     //再強制轉換成inline元素

                                      }

      二、間隙問題

           display設置爲inline和inline-block的元素先後會有間隙(不是固定大小的),但在IE六、7中block的元素設置inline-block後沒有間隙。

           產生間隙的根本緣由:HTML中的換行符、空格符、製表符等產生了空白符,而這些歸根結底都是字符,那麼它們的大小都是受font-size來控制的。

           解決間隙的方法:

                                   font-size:0;   //全部瀏覽器

                                   letter-spacing:-5px;     //safair等不支持字體爲0的瀏覽器

                                   *letter-spacing:normal;

                                   word-spacing:-1px;    //IE六、7

相關文章
相關標籤/搜索