日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

IE6 bug修正的10個(gè)小技巧 推薦

【IE6 bug修正的10個(gè)小技巧 推薦】1. 使用DOCTYPE
你應(yīng)該在一直每個(gè)HTML文件的頭部都使用DOCTYPE,并且我們推薦使用strict 版本,比如:

復(fù)制代碼代碼如下:
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"

或者,對(duì)于XHTML使用:

!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd

你需要處理的最棘手的事情就是IE6進(jìn)入quirks模式它已經(jīng)夠詭異了 。

2. 設(shè)置position: relative
將一個(gè)元素設(shè)置為position:relative可以解決很多問(wèn)題,特別是你曾經(jīng)遇到隱藏的或?qū)R詭異的盒子 。顯然,你需要非常小心點(diǎn)兒,因?yàn)榻^對(duì)定位的子節(jié)點(diǎn)可能會(huì)因此重新定位 。

3. 將浮動(dòng)元素設(shè)置為display:inline
具有margin屬性的浮動(dòng)元素可能引起著名的IE6雙倍margin問(wèn)題,比如,你為一個(gè)元素指定margin-left為5px,但是IE6中實(shí)際上卻表現(xiàn)為10px 。display:inline將解決這個(gè)問(wèn)題,盡管這不是必須的,你的CSS仍然是有效的 。

4. 將一個(gè)元素設(shè)置為hasLayout
很多IE6(和IE7)的渲染問(wèn)題可以通過(guò)設(shè)置元素的hasLayout來(lái)解決 。這是一個(gè)IE內(nèi)部屬性(IE隱藏的,更多關(guān)于haslayout的資料,可以參閱這里),用來(lái)確定相對(duì)于其他元素,內(nèi)容是如何布局和定位的 。如果你需要設(shè)置一個(gè)inline元素(比如一個(gè)鏈接)為block元素,或者是應(yīng)用透明效果,設(shè)置hasLayout也可能是必須的 。

最簡(jiǎn)單的設(shè)置hasLayout的方法是為CSS設(shè)置一個(gè)高度或?qū)挾龋▃oom也可以用,但是zoom并不是CSS標(biāo)準(zhǔn)的一部分) 。我們推薦設(shè)置實(shí)際尺寸,但是問(wèn)題是這是不現(xiàn)實(shí)的,你可能需要使用height:1% 。如果父元素并沒(méi)有設(shè)置高度,該元素的實(shí)際高度并不受影響,而且這個(gè)時(shí)候hasLayout已經(jīng)被啟用 。

5. 修正重復(fù)文字bug
復(fù)雜的布局可以觸發(fā)在浮動(dòng)元素的最后一些字符可能出現(xiàn)在出現(xiàn)在清除元素下面的bug 。這里有幾個(gè)解決方法,有些是完美的,但是做一些反復(fù)試驗(yàn)也是必須的:

確保所有的元素使用display:inline;
在最后一個(gè)元素上使用一個(gè)margin-right:-3px;
為浮動(dòng)元素的最后一個(gè)條目使用一個(gè)條件注釋?zhuān)热纾?

復(fù)制代碼代碼如下:
!--[if !IE]Put your commentary in here...![endif]--

在容器的最后元素使用一個(gè)空的div(它也有必要設(shè)置寬度為90%或類(lèi)似寬度 。)
訪問(wèn) positioniseverything.net 查看該問(wèn)題的完整介紹 。

6. 在可點(diǎn)擊和懸停的元素上只使用a標(biāo)簽
IE6只認(rèn)識(shí)對(duì)a標(biāo)簽的CSS hover效果 。

你也可以在基于JavaScript的組件內(nèi)使用他們來(lái)控制,以使他們保持鍵盤(pán)的可操作性 。是有一些可替代的選擇,但是a標(biāo)簽比其它方案更可靠 。

7. 使用!important 或高級(jí)選擇器來(lái)區(qū)分IE6
不使用傳統(tǒng)Hack或在額外文件中的條件CSS的方法,寫(xiě)出特別針對(duì)IE6的可行的代碼也還是有可能的 。比如最小高度可以通過(guò)這段代碼來(lái)定義:

復(fù)制代碼代碼如下:
#element {
min-height: 20em;
height: auto !important; /* 所有瀏覽器都理解這段代碼 */
height: 20em; /* IE6 錯(cuò)誤的使用這個(gè)值 /*
}

IE6 不理解min-height并錯(cuò)誤的用20em覆蓋auto高度,但是,如果內(nèi)容需要更多的空間的話(huà),它會(huì)自動(dòng)增加高度 。

另外一個(gè)可選的方法是使用高級(jí)選擇器,比如e.g.

復(fù)制代碼代碼如下:
#element {
min-height: 20em;
height: 20em;
}
/* IE6 無(wú)視下面的代碼*/
#element[id] {
height: auto;
}

8. 避免百分比單位
百分比會(huì)把IE搞糊涂的 。除非你可以確切的控制每一個(gè)父元素的大小,才可能做到最佳預(yù)防 。你可以通過(guò)!important在其他瀏覽器中繼續(xù)使用百分比,比如:

復(fù)制代碼代碼如下:

推薦閱讀