国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

在IE6,7中遇到未知的問題無法解決時可以嘗試觸發其layout

2024-07-11 08:27:46
字體:
來源:轉載
供稿:網友
在IE6,7中如果發現某個異常不知道如何解決的時候可以嘗試著觸發其haslayout:

鄙人不才,今天也遇到了一個bug嘗試了很多方法,最終在整個父類加上一個height:1%,然后順利解決。

復制代碼
代碼如下:
height:1%
position: absolute
float: left | right
display: inline-block
width: !auto - 除auto以外的值
height: !auto - 除auto以外的值
zoom: !normal - 除normal以外的值
writing-mode: tb-rl
overflow: hidden | scroll | auto - IE7有效
position: fixed - IE7有效
min-width: * - IE7有效,任何值
min-height: * -IE7有效,任何值
max-width: !none - IE7有效,除none外任何值
max-height: !none - IE7有效,除none外任何值

對于內聯元素(默認即為內聯的元素,如 span,或 display:inline; 的元素),

而對于 IE6,如果瀏覽器運行于標準兼容模式下,內聯元素會忽略 width 或 height 屬性,所以設置 width 或 height 不能在此種情況下令該元素具有 layout。
zoom 總是可以觸發 hasLayout,但是在 IE5.0 中不支持。

具有“layout” 的元素如果同時 display: inline ,那么它的行為就和標準中所說的 inline-block 很類似了:在段落中和普通文字一樣在水平方向和連續排列,受 vertical-align 影響,并且大小可以根據內容自適應調整。這也可以解釋為什么單單在 IE/Win 中內聯元素可以包含塊級元素而少出問題,因為在別的瀏覽器中 display: inline 就是內聯,不像 IE 一旦內聯元素擁有 layout 還會變成 inline-block。

haslayout 問題的調試與解決

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

對 IE6 及更早版本來說,常用的方法被稱為霍莉破解(Holly hack),即設定這個元素的高度為 1% (height:1%;)。需要注意的是,當這個元素的 overflow 屬性被設置為 visible 時,這個方法就失效了。或者使用 IE 的條件注釋。

對 IE7 來說,最好的方法時設置元素的最小高度為 0 (min-height:0;)。

haslayout 問題引起的常見 bug
IE6 及更低版本的雙空白邊浮動 bug

bug 修復: display:inline;
IE5-6/win 的 3 像素偏移 bug

bug 修復: _height:1%;
E6 的躲躲貓(peek-a-boo) bug

bug 修復: _height:1%;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴塘县| 舞阳县| 子长县| 遂川县| 疏勒县| 正阳县| 张家港市| 房产| 东港市| 石渠县| 象州县| 余庆县| 喀什市| 文化| 达尔| 通山县| 句容市| 天镇县| 察哈| 延长县| 安溪县| 澄迈县| 东宁县| 大理市| 凤翔县| 岳阳市| 贵德县| 麻阳| 彝良县| 瑞丽市| 水城县| 甘泉县| 延津县| 潮州市| 宜章县| 阿克陶县| 伊金霍洛旗| 和林格尔县| 静宁县| 永清县| 隆尧县|