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

讓IE6/IE7/IE8支持CSS3屬性的8種方法介紹

我們都知道,IE瀏覽器暫不支持CSS3的一些屬性 。國外的工程師們,不安于此現(xiàn)狀,他們總是盡量使用一些手段使IE瀏覽器也能支持CSS3屬性,我覺得這些都是很有意義,很有價值的工作,可以推動整個技術(shù)領(lǐng)域的進步的 。到目前為止,有不少可以讓IE支持部分CSS3屬性的工具 。例如:

1. Dean Edwards的IE7.js (以及 IE8.js, IE9.js)

這個玩意估計是試圖讓IE支持CSS3屬性的鼻祖,還算蠻強大,就是性能開銷較大,要解析很多文件腳本,給DOM添加大量的元素以及ClassName 。

2. Aaron Gustafson的 eCSStender

此方法支持@font-face, CSS3 選擇器, 以及 CSS3 Backgrounds 和 Borders 。

3. Drew Diller的 DD_roundies

這是一個基于IE VML實現(xiàn)一些CSS3效果的 。

4. Remiz Rahnas的border-radius.htc

此方法使用htc文件,配合VML實現(xiàn),缺點在于不能自動適應(yīng)目標元素的位置和大小,所以不能適用于動態(tài)腳本環(huán)境 。

5. Nick Fetchak的 ie-css3.htc

關(guān)于此方法,我在前面的讓IE6/IE7/IE8瀏覽器支持CSS3屬性這篇文章中已經(jīng)做過介紹 。我是建議您看看這篇文章,倒不是ie-css3.htc這個玩意多么好,而是文中對htc文件以及VML預言做了些介紹,對于您了解IE下實現(xiàn)類似CSS3效果原理有所了解 。

6. Keith Clark的ie-css3.js

這是個與IE7.js類似的項目,其選擇器可借助其他JavaScript庫,所以其本身較小 。

7. zoltandulac的cssSandpaper

這是一個使用IE濾鏡實現(xiàn)一些CSS3屬性的方法 。

8. css3pie的css3 PIE.htc

支持:border-radius圓角 、 box-shadow 盒陰影 、 gradient漸變 、 multiple background images多背景。

下面對第8第方法的做一下簡單介紹:

官方網(wǎng)站:http://css3pie.com/

使用方法:

第一步:下載css3 PIE.htc 文件

第二步:將PIE.htc文件上傳到你的網(wǎng)站目錄中,上傳到目錄哪里都可以,只要你記住這個目錄 。

第三步:創(chuàng)建html文件,寫一段css3代碼,并引入PIE.htc,如下面這段:

復制代碼代碼如下:
#id {
border: 1px solid #999;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
behavior: url(path/to/PIE.htc);
}

注意:.htc 文件路徑是相對于html文件的路徑,而不是相對于css文件 。

已知的一些問題:

此方法并不是萬能的,也有一些局限性和需要注意的地方 。

1. z-index相關(guān)問題

IE下這些CSS3效果實現(xiàn)是借助于VML,由VML繪制圓角或是投影效果的容器元素,然后這個容器元素作為目標元素的后兄弟節(jié)點插入,如果目標元素position:absolute 或是 position:relative,則這個css3-container元素將會設(shè)置與之一樣的z-index值,在DOM tree中,同級的元素總是后面的覆蓋前面的,所以這樣就實現(xiàn)了覆蓋,又避免了可能有其他元素正好插入其中 。

所以,問題來了,如果目前元素的position屬性為static,也就是默認屬性,則z-index屬性是沒有用的,無覆蓋可言,所以此時IE瀏覽器下CSS3的渲染是不會成功的 。要解決也很簡單,設(shè)置目標元素position:relative或是設(shè)置祖先元素position:relative并賦予一個z-index值(不可為-1) 。

2. 相當路徑的問題

IE瀏覽器的behavior 屬性是相對于HTML文檔而言的,與CSS其他的屬性不一樣,不是相對于CSS文檔而言的 。這使得使用pie.htc文件不怎么方便 。如果絕對路徑于根目錄,則CSS文件不方便移動;如果相對路徑與HTML文檔,則pie.htc文件在不同HTML頁面見的重用性大大降低 。同時,諸如border-image后面的URL屬性路徑也不好處理 。

3. 縮寫的問題

使用PIE實現(xiàn)IE下的CSS3渲染(其他方法也是一樣),只能使用縮寫的形式,例如圓角效果,我們可以設(shè)置border-top-left-radius表示左上圓角,但是PIE確實不支持這種寫法的,只能是老老實實的縮寫 。

推薦閱讀