CSS 伪类

本文详细介绍了如何通过下载RobertNyman的DOMAssistant脚本和ie-css3.js,将CSS3伪选择器应用于Internet Explorer浏览器中。通过在页面head标签中导入这两个脚本,可以解决IE不支持CSS3伪选择器的问题。文章还阐述了脚本的工作原理,包括下载样式表、解析CSS3伪选择器并将其替换为CSS类,以及如何确保样式表的有效性和安全性。

http://www.jb51.net/jiaoben/24032.html

http://www.jb51.net/css/28294.html

用法
你只需要下载Robert Nyman的DOMAssistant脚本和ie-css3.js并将它们在你的页面的head标签中导入,如下:

复制代码代码如下:
<head>
<script type="text/javascript" src="DOMAssistantCompressed-2.7.4.js"></script>
<script type="text/javascript" src="ie-css3.js"></script>
</head>

支持的选择器

:nth-child
:nth-last-child
:nth-of-type
:nth-last-of-type
:first-child
:last-child
:only-child
:first-of-type
:last-of-type
:only-of-type
:empty
ie-css3的一些限制

样式表必须通过<link>标签引入。页面级的样式表或者内联的样式表将无效。不过你可以在外部样式文件中使用@import 导入其它样式文件;
样式表文件必须和页面放在同一个域名下面;
使用file://路径的样式文件将由于浏览器的安全问题而不起作用;
:not()选择器尚不支持;
该方法不是动态的,样式被应用之后再改变DOM,将会无效。
如何工作的?
ie-css3.js下载页面的每一个样式文件并解析它的CSS3伪选择器。如果一个选择器被找到,它就会被替换为同名的CSS class。比如: div:nth-child(2) 将会变成 div._iecss-nth-child-2 。然后,Robert Nyman的DOMAssistant用于寻找匹配元素CSS3选择器的DOM节点然后将相应的CSS类添加给它。

最终,元素的样式表会被新的版本替代,然后用CSS3选择器对相应元素添加对应的样式。

避免IE的CSS解释器
根据W3C的规定,一个浏览器应该无视它不认识的CSS规则。这就出现一个问题——我们需要利用样式表文件中的CSS3选择器,但是IE会将它们丢弃。

为了避免这个问题,每一个样式文件都会通过XMLHttpRequest下载。这允许该脚本绕开浏览器内置的CSS解释器并能够读取原始的CSS文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值