加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

IE 行使高级CSS3选择器

发布时间:2018-10-12 15:16:33 所属栏目:创业 来源:站长网
导读:别误会,IE是不支持CSS3高级选择器,包罗最新的 IE8 (详见《CSS选择器的赏识器支持》),可是CSS选择器简直是很有效的,它可以大大的简化我们的事变,进步我们的代码服从,并让我们很利便的建造高可维护性的页面。 然而IE对高级CSS选择器出格是CSS3选择器

别误会,IE是不支持CSS3高级选择器,包罗最新的IE8(详见《CSS选择器的赏识器支持》),可是CSS选择器简直是很有效的,它可以大大的简化我们的事变,进步我们的代码服从,并让我们很利便的建造高可维护性的页面。

然而IE对高级CSS选择器出格是CSS3选择器的支持让我们一向不能将CSS选择器推广应用。不外,固然我们无法阁下赏识器的市场份额,却可以通过一些技能改进我们的事变。我们也可以行使其余的一些技能,让IE可以变相支持CSS3选择器。

一位来自英国的网页开拓工程师Keith Clark开拓了一个JavaScript方案来使IE支持CSS3选择器。该剧本支持从IE5到IE8的各个版本。

用法

你只必要下载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文件。

  • 会见项目主页
  • 下载ie-css3.js
  • 下载DOMAssistant

更换方案

显然这个也并非美满的方案,对付Ajax网站来说,它根基上是不能用的,由于在天生的样式表被应用之后再改变DOM,就不会有用了。可是究竟上我们可以本身来自界说一个ie-css3的。只是没有它这个这么智能。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读