zoom是ie專用屬性,firefox等是不支援的。它的本來作用是設定或檢索物件的縮放比例,但這作用幾乎用不到。
可以讓網頁實現ie7中的放大縮小功能。比如你想讓你的網頁縮小為原來的一半,那麼就在body中加入style="zoom:0.5"
設定zoom:1可以在ie6下清除浮動、解決margin導致的重疊等問題。
通常,當浮動子元素導致父元素塌陷的時候,只要給父元素加上overflow: hidden;來解決,但是對於ie不行,需要觸發其haslayout屬性才可以。
zoom:1就是ie6 專用的 觸發 haslayout 屬性的。haslayout是ie特有的乙個屬性。很多的ie下的css bug都與其息息相關。在ie中,乙個元素要麼自己對自身的內容進行計算大小和組織,要麼依賴於父元素來計算尺寸和組織內容。當乙個元素的haslayout屬性值為true時,它負責對自己和可能的子孫元素進行尺寸計算和定位。
haslayout對於內聯元素也可以有效果,當內聯元素的haslayout為true的時候,可以給這個內聯元素設定高度和寬度並得到期望的效果。具體關於haslayout的知識點,可以另外搜尋。
通常,在給低版本的ie做相容的時候會用到zoom:1。例如,清除浮動的時候,我們會這麼寫
.clearfix::after
為了防止低版本的ie瀏覽器不支援after選擇器或者某些屬性,在最後加上zoom:1來清除浮動。
為了實現inline-block的相容的時候,我們會這麼寫:{display: inline-block;*display:inline;*zoom:1;}因為在ie6、ie7下,只有設定在預設顯示方式為inline的元素上才會生效。前面說過,當內聯元素的haslayout為true的時候,可以給這個內聯元素設定高度和寬度並得到期望的效果,所以這樣做可以達到相容inline-block的效果。
這裡還要補充一點,為什麼*display:inline;*zoom:1;前面有*,*放在css屬性前面,表示這個屬性僅僅應用到internet explorer 7 以及以下版本。因為internet explorer 版本 7 以及以下承認非字母數字(除了下劃線)字首的屬性。所以這裡,ie7以上的版本作用的是display: inline-block;而在ie7及以下的版本中作用的是display:inline;zoom:1。
zoom 1的常見作用
zoom是ie專用屬性,firefox等是不支援的。它的本來作用是設定或檢索物件的縮放比例,但這作用幾乎用不到。可以讓網頁實現ie7中的放大縮小功能。比如你想讓你的網頁縮小為原來的一半,那麼就在body中加入style zoom 0.5 設定zoom 1可以在ie6下清除浮動 解決margin導致的...
zoom 1的作用認識
zoom 1這個屬性一般不為人知,因為它最初是為ie設定的,在很多css手冊上都查詢不到。現在最新版本的webkit也支援該屬性,值為reset。作用為讓你重設掉瀏覽器中正常的縮放行為 如果某個元素被宣告了zoom reset,頁面上的其它元素在使用者放大頁面的時候都會跟著放大 語法 zoom 說明...
css中zoom 1以及z index的作用
一 css中zoom 1的作用 在做ie6 ie7 ie8瀏覽器相容的時候,經常會遇到一些問題,可以使用zoom 1來解決,有如下作用 1 觸發ie瀏覽器的haslayout 2 解決ie下的浮動,margin重疊等一些問題。二 z index auto number auto遵從其父物件的定位 n...