亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

對IE的hasLayout屬性的講解和解決方案

2024-04-27 15:12:06
字體:
來源:轉載
供稿:網友

解決IE兼容問題是比較頭疼的問題,無論你是新入門的菜鳥還是久經考驗的職業行家,兼容問題,特別是IE,IE6會讓你非常頭疼。很多時候,div CSS在IE下的解析十分奇怪,一個比較經典的bug就是設置border的時候,有時候border會斷開,刷新頁面或者滾動滾動條的時候,斷掉的部分又會連接起來。這些問題的根源很多時候來源于IE的一個特有屬性:hasLayout。hasLayout是一個非常有意思的學術研究,如何深刻理解hasLayout屬性,及他的使用方法,原理,解決IE的兼容問題非常有用處,下面來講解一下hasLayout的屬性,原理與使用方法。

 

這些詭異的問題往往大部分和IE下一個神秘的屬性相關——hasLayout。hasLayout是IE瀏覽器專有的一個屬性,用于CSS的解析引擎。有時候在IE下一些復雜的CSS設置解析起來會出現bug,其原因可能與hasLayout沒有被自動觸發有關,我們通過一些技巧,手動觸發hasLayout屬性就可以解決Bug了。這也算是針對IE下疑難雜癥的特殊偏方了,很多時候,觸發了hasLayout就可以藥到病除了。

 

hasLayout的觸發方法有很多種,例如設置width,height值,設置position為relative等。但如果設置了width,height,或position都會在觸發hasLayout的同時帶來一些副作用的。早期的一些工程師推薦使用“height:1%”來觸發hasLayout,那時還沒有出現IE7,而height屬性在IE6下其實是按照"min-height"來解析的,所以只要對IE6進行hack,"* html{height:1%}"就可以觸發hasLayout,同時又不帶來副作用了。后來出現的IE7仍然存在很多hasLayout的問題,但IE7已經能夠正確識別height屬性了,“height:1%”的方法已經不再適用了。

于是,一個更好的解決方法開始流行,它使用了一個生僻的CSS屬性zoom來觸發hasLayout——"zoom:1"。使用"zoom:1"可以觸發hasLayout,并且不會像height等屬性一樣引入副作用,更妙的是,我們可以不用CSS hack了。但"zoom:1"并不是一定可以觸發hasLayout的。在極少數特殊的情況下,例如非常復雜的CSS設置,特別是使用DHTML的時候,使用"zoom:1"有時候也會無效,這時,我們可能需要借助更強大的"position:relative"來幫助觸發hasLayout。總之,”zoom“是最常用,最安全,成本最少的觸發hasLayout的方式,一般情況下,使用它就完全可以觸發hasLayout了。如果遇到特殊情況,"zoom:1"無效的情況下,我們可以通過設置"position:relative"來觸發hasLayout,盡管它會帶來一點副作用。

 

值得強調的是,hasLayout的設計初衷是用于輔助塊級元素的盒模型解析的,它是用于塊級元素的。如果用于行內元素,會引發一些特殊的效果,就會讓行內元素擁有一些塊級元素的特性。

 

如:display:inline-block;它是行內的塊級元素,它擁有塊級元素的特點,可以設置長寬,可以設置margin和padding值,但它卻不是獨占一行的,它的寬度并不占滿父元素,而是和行內元素一樣,可以和其他行內元素排在同一行里。它集塊級元素和行內元素的特點于一身,是個非常有用的display類型。 

以上是hasLayout屬性,原理與使用方法總結講解一下,對于解決IE兼容問題幫助很大的,同學在平時做div+css的時候,要注意一下。

haslayout 是Windows Internet Explorer渲染引擎的一個內部組成部分。在InternetExplorer中,一個元素要么自己對自身的內容進行計算大小和組織,要么依賴于父元素來計算尺寸和組織內容。為了調節這兩個不同的概念,渲染引擎采用了 hasLayout 的屬性,屬性值可以為true或false。當一個元素的 hasLayout屬性值為true時,我們說這個元素有一個布局(layout)

 當一個元素有一個布局時,它負責對自己和可能的子孫元素進行尺寸計算和定位。簡單來說,這意味著這個元素需要花更多的代價來維護自身和里面的內容,而不是依賴于祖先元素來完成這些工作。因此,一些元素默認會有一個布局。當我們說一個元素“擁有layout”或“得到layout”,或者說一個元素“has layout” 的時候,我們的意思是指它的微軟專有屬性 hasLayout 被設為了 true。一個“layout元素”可以是一個默認就擁有 layout 的元素或者是一個通過設置某些 CSS 屬性得到 layout的元素。如果某個HTML元素擁有 haslayout 屬性,那么這個元素的 haslayout 的值一定只有 true,haslayout為只讀屬性 一旦被觸發,就不可逆轉。通過 IE Developer Toolbar 可以查看 IE 下 HTML元素是否擁有haslayout,在 IE Developer Toolbar 下,擁有 haslayout的元素,通常顯示為“haslayout = -1”。

haslayout 問題的調試與解決

 當網頁在 IE 中有異常表現時,可以嘗試激發 haslayout 來看看是不是問題所在。常用的方法是給某元素 css 設定 zoom:1。使用 zoom:1 是因為大多數情況下,它能在不影響現有環境的條件下激發元素的 haslayout。而一旦問題消失,那基本上就可以判斷是haslayout 的原因。然后就可以通過設定相應的 css 屬性來對這個問題進行修正了。建議首先要考慮的是設定元素的width/height 屬性,其次再考慮其他屬性。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人激情视频在线播放| 久久精品一区中文字幕| 午夜精品一区二区三区视频免费看| 国产精品视频网站| 精品国偷自产在线视频| 91免费精品国偷自产在线| 亚洲成色999久久网站| 亚洲国产精品久久久久| 欧美高清激情视频| 成人高h视频在线| 一区二区成人精品| 亚洲精品国产精品久久清纯直播| 国产精品在线看| 中文字幕一区电影| 成人欧美在线视频| 精品视频一区在线视频| 久久中文字幕在线视频| 亚洲精品视频久久| 久久91亚洲精品中文字幕| 欧美极品美女视频网站在线观看免费| 一区二区三区动漫| 欧美一级免费看| 国产成人精品av| 日韩av在线天堂网| 精品国产老师黑色丝袜高跟鞋| 亚洲欧美制服第一页| 伊人男人综合视频网| 九九热精品视频在线播放| 成人激情av在线| 国产91在线播放| 欧美日韩国产成人高清视频| 欧美成人精品影院| 亚洲欧美国产精品va在线观看| 国产精品日日做人人爱| 日韩免费在线免费观看| 国产一区二区三区网站| 国产剧情久久久久久| 国产精品日韩在线一区| 久久久久久中文字幕| 亚洲第一偷拍网| 亚洲第一页自拍| 日韩69视频在线观看| 亚洲免费视频一区二区| 91国内免费在线视频| 国产精品天天狠天天看| 视频在线一区二区| 久久躁日日躁aaaaxxxx| 欧美国产日韩一区二区三区| 欧美色视频日本高清在线观看| 少妇高潮久久77777| 91欧美激情另类亚洲| 国产精品劲爆视频| 一区二区在线视频播放| 日av在线播放中文不卡| 欧美激情视频免费观看| 欧美激情图片区| 中文综合在线观看| 欧美国产日韩一区二区三区| 亚洲已满18点击进入在线看片| 欧美理论片在线观看| 欧美成人sm免费视频| 最近更新的2019中文字幕| 欧美激情精品久久久久久变态| 久久久久久久影视| 97久久伊人激情网| 久久久久免费视频| 亚洲伊人成综合成人网| 久久亚洲私人国产精品va| 美女视频黄免费的亚洲男人天堂| 欧洲亚洲免费在线| 国产国语videosex另类| 亚洲欧洲成视频免费观看| 欧美性受xxxx白人性爽| 国产视频精品自拍| 色午夜这里只有精品| 久久天天躁狠狠躁夜夜av| 国产精品欧美激情| 国模精品一区二区三区色天香| 亚洲中国色老太| 欧美日韩黄色大片| 亚洲开心激情网| 神马久久久久久| 色噜噜狠狠狠综合曰曰曰88av| 亚洲欧洲国产一区| 国产欧美精品xxxx另类| 青草青草久热精品视频在线网站| 国产精品综合久久久| 亚洲天堂成人在线| 国产日本欧美视频| 亚洲成人精品久久久| 国产精品成人免费电影| 日韩av在线网站| 日av在线播放中文不卡| yw.139尤物在线精品视频| 欧美区二区三区| 久久手机免费视频| 日韩欧美在线一区| 国产精品视频在线播放| 国产日韩欧美视频| 国产精品青青在线观看爽香蕉| 欧美精品中文字幕一区| 久久久天堂国产精品女人| 97色伦亚洲国产| 国内自拍欧美激情| 国产亚洲欧美日韩一区二区| www.欧美视频| 97视频在线观看免费高清完整版在线观看| 国产精品视频自在线| 亚洲一区二区三区sesese| 亚洲国产欧美精品| 久久久久久久久久久免费精品| 国产精品精品一区二区三区午夜版| 久久久精品一区二区三区| 国产一区二区在线免费| 亚洲二区中文字幕| 欧美激情精品久久久久久免费印度| 国产美女精品免费电影| 日本亚洲欧美成人| 亚洲精品网站在线播放gif| 日韩欧美国产一区二区| 色小说视频一区| 日韩视频在线一区| 九九热这里只有精品免费看| zzjj国产精品一区二区| 日韩中文字幕在线| 日韩在线一区二区三区免费视频| 国产亚洲视频中文字幕视频| 69视频在线免费观看| 亚洲精品美女免费| 欧美日韩国产一区中文午夜| 中文字幕视频一区二区在线有码| 日韩一区二区三区国产| 欧美性一区二区三区| 欧美激情中文字幕在线| 亚洲高清av在线| 久久99精品久久久久久青青91| 青草热久免费精品视频| 欧日韩在线观看| 日韩最新av在线| 国产精品视频久久久久| 精品亚洲精品福利线在观看| 高潮白浆女日韩av免费看| 欧美日韩中文字幕在线视频| 久久人人爽国产| 午夜欧美大片免费观看| 国产成人精品久久二区二区91| 亚洲香蕉在线观看| 欧美日韩高清区| 国产精品成人一区二区三区吃奶| 97精品国产97久久久久久| 亚洲一区制服诱惑| 亚洲国产精品va在看黑人| 欧美一级片免费在线| 国产成人精品一区二区| 久久久免费av| 国产va免费精品高清在线观看| 91精品国产777在线观看| 欧美日韩国产页| 欧美午夜女人视频在线| 日本中文字幕久久看| 97色在线播放视频| 国产精品久久久久久久久影视| 97在线看免费观看视频在线观看| 国产亚洲精品久久久久久牛牛|