国产探花免费观看_亚洲丰满少妇自慰呻吟_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%;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桦南县| 天柱县| 衡山县| 连江县| 措美县| 前郭尔| 集贤县| 石楼县| 九龙城区| 乌兰察布市| 巧家县| 乌兰浩特市| 鹤峰县| 深圳市| 鸡西市| 金昌市| 奉新县| 宿州市| 本溪市| 延庆县| 田东县| 富裕县| 蕉岭县| 花垣县| 比如县| 平利县| 教育| 冀州市| 霸州市| 哈尔滨市| 新沂市| 平陆县| 库伦旗| 如皋市| 西和县| 奉新县| 都昌县| 鹤壁市| 长宁县| 天长市| 新疆|