13.為什么IE6下容器的寬度和FF解釋不同呢
<?xml version="1.0" encoding="gb2312"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> <!-- div { cursor:pointer; width:200px; height:200px; border:10px solid red } --> </style> <div ōnclick="alert(this.offsetWidth)">讓FireFox與IE兼容</div>
問題的差別在于容器的整體寬度有沒有將邊框(border)的寬度算在其內(nèi),這里IE6解釋為200PX ,而FF則解釋為220PX,那究竟是怎么導(dǎo)致的問題呢?大家把容器頂部的xml去掉就會(huì)發(fā)現(xiàn)原來問題出在這,頂部的申明觸發(fā)了IE的qurks mode,關(guān)于qurks mode、standards mode的相關(guān)知識(shí),請(qǐng)參考相關(guān)資料。
IE6,IE7,FF
IE7.0出來了,對(duì)CSS的支持又有新問題。瀏覽器多了,網(wǎng)Bpx; /*For IE7 & IE6*/ _height:20px; /*For IE6*/
注意順序。
這樣也屬于CSS HACK,不過沒有上面這樣簡(jiǎn)潔。
#example { color: #333; } /* Moz */ * html #example { color: #666; } /* IE6 */ *+html #example { color: #999; } /* IE7 */
第二種,是使用IE專用的條件注釋
<!--其他瀏覽器 --> <link rel="stylesheet" type="text/css" href="css.css" />
<!--[if IE 7]> <!-- 適合于IE7 --> <link rel="stylesheet" type="text/css" href="ie7.css" /> <![endif]-->
<!--[if lte IE 6]> <!-- 適合于IE6及一下 --> <link rel="stylesheet" type="text/css" href="ie.css" /> <![endif]-->
第三種,css filter的辦法,以下為經(jīng)典從國(guó)外網(wǎng)站翻譯過來的。.
新建一個(gè)css樣式如下:
#item { width: 200px; height: 200px; background: red; }
新建一個(gè)div,并使用前面定義的css的樣式:
<div id="item">some text here</div>
在body表現(xiàn)這里加入lang屬性,中文為zh:
<body lang="en">
現(xiàn)在對(duì)div元素再定義一個(gè)樣式:
*:lang(en) #item{ background:green !important; }
這樣做是為了用!important覆蓋原來的css樣式,由于:lang選擇器ie7.0并不支持,所以對(duì)這句話不會(huì)有任何作用,于是也達(dá)到了 ie6.0下同樣的效果,但是很不幸地的是,safari同樣不支持此屬性,所以需要加入以下css樣式:
#item:empty { background: green !important }
:empty選擇器為css3的規(guī)范,盡管safari并不支持此規(guī)范,但是還是會(huì)選擇此元素,不管是否此元素存在,現(xiàn)在綠色會(huì)現(xiàn)在在除ie各版本以外的瀏覽器上。
對(duì)IE6和FF的兼容可以考慮以前的!important 個(gè)人比較喜歡用第一種,簡(jiǎn)潔,兼容性比較好
轉(zhuǎn)載:http://www.webbise.com/post/63.html
本文鏈接:http://m.95time.cn/tech/web/2010/7840.asp
出處:web前端寒風(fēng)
責(zé)任編輯:bluehearts
上一頁(yè) CSS兼容性(IE和Firefox)技巧大全 [6] 下一頁(yè)
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|