玩转CSS选择器(二)之浏览器支持,常见Bug,性能优化_html/css_WEB-ITnose
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了玩转CSS选择器(二)之浏览器支持,常见Bug,性能优化_html/css_WEB-ITnose,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含11526字,纯文字阅读大概需要17分钟。
内容图文
![玩转CSS选择器(二)之浏览器支持,常见Bug,性能优化_html/css_WEB-ITnose](/upload/InfoBanner/zyjiaocheng/403/455eec77bb5a4a98b765d268f1a3698f.jpg)
前言
上一篇系列文章整理了CSS选择器的基础使用方法,因为内容较多且细致,写了很多DEMO,目前将它整理成适合移动端浏览器的CSS选择器的参考手册,方便学习CSS的人参考使用,马上就要搞定了,之后会放出 (笑脸)。
本节内容会跟着上一节的内容继续完善,首先会补充CSS选择器的浏览器支持情况(主要是说IE),比如我们最常用的s1,s2,…,sN群组选择器在IE7时才被支持,并且IE7还支持了很多我们没有想到的选择器,如子元素选择器,属性选择器,了解后你会发现IE7还是挺了不起的。
之后还会补充平常使用选择器遇到的一些问题以及解决方案,最后了解浏览器是如何读取选择器的,怎样使用选择器能达到高效率。
浏览器支持
了不起的IE7
当我们在开发网页时,如果网页需要兼容IE6,那么自然地会把IE6和IE7浏览器归为一路货色,对于不兼容的选择器和属性都将不再考虑使用,可是你是否知道IE7相比IE6增加了许多选择器可以用,如群组选择器,相邻选择器,兄弟选择器,属性选择器。
以下选择器是不支持IE6,仅支持 IE7 及以上的浏览器
基本选择器
选择器 | 描述 | 版本 |
---|---|---|
s1,s2,...,sN | 群组选择器,同时匹配所有s1元素或s2元素 | 2.1 |
E > F | 子元素选择器,匹配所有E元素的子元素F | 2.1 |
E + F | 毗邻元素选择器,匹配所有紧随E元素之后的同级元素F | 2.1 |
E ~ F | 匹配任何E标签之后的同级F标签 | 3 |
属性选择器
选择器 | 描述 | 版本 |
---|---|---|
E[attr] | 匹配att属性的E元素 | 2.1 |
E[attr="val"] | 匹配att属性且属性值等于val的E元素 | 2.1 |
E[attr~="val"] | 匹配att属性且属性值中的词列表有一个等于val的E元素 | 2.1 |
E[attr^="val"] | 匹配att属性且属性值为以val开头的字符串的E元素 | 3 |
E[attr$="val"] | 匹配att属性且属性值为以val结尾的字符串的E元素 | 3 |
E[attr*="val"] | 匹配att属性且属性值为包含val的字符串的E元素 | 3 |
E[att|="val"] | 匹配att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素 | 2.1 |
在IE7浏览器,单复选框的checked在属性选择器中是不被支持的,这部分内容会在下面的常见问题中详细说明。
伪类选择器
选择器 | 描述 | 版本 |
---|---|---|
E:hover | 设置元素在其鼠标悬停时的样式 | 2.1 |
E:first-child | 匹配父元素的第一个子元素E | 2.1 |
E:hover在IE6中只有a元素可用
伪元素选择器
选择器 | 描述 | 版本 |
---|---|---|
E:first-letter | 选择文本块的第一个字母 | 2.1 |
E:first-line | 选择元素的第一行 | 2.1 |
平庸的IE8浏览器
虽然来到IE8的时代,但是对于新选择器的支持并不多,不过还好我们最常用的E:before和E:after配合content属性都在IE8中得到了很好的支持。
以下选择器不支持IE6,IE7,仅支持 IE8 及以上的浏览器
伪类选择器
选择器 | 描述 | 版本 |
---|---|---|
E:focus | 设置对象在成为输入焦点时的样式 | 2.1 |
伪元素选择器
选择器 | 描述 | 版本 |
---|---|---|
E:before | 在元素前面插入内容,配合"content"使用 | 2.1 |
E:after | 在元素后面插入内容,配合"content"使用 | 2.1 |
狂拽炫酷*炸天的IE9
IE最好的时代就是迎接CSS3的到来,从IE9支持了一大坨新CSS3的伪类以及伪元素,我就勉强给IE使用上这个酷炫点的修饰语。
以下选择器不支持IE6,IE7,IE8,仅支持 IE9 及以上的浏览器
伪类选择器
选择器 | 描述 | 版本 |
---|---|---|
E:checked | 匹配用户界面上处于选中状态的元素E | 3 |
E:enabled | 匹配用户界面上处于可用状态的元素E | 3 |
E:disabled | 匹配用户界面上处于禁用状态的元素E | 3 |
E:root | 匹配文档的根元素,对于HTML文档,就是HTML元素 | 3 |
E:last-child | 匹配父元素的最后一个子元素E | 3 |
E:nth-last-child(n) | 匹配父元素的倒数第n个子元素E | 3 |
E:nth-of-type(n) | 匹配同类型中的第n个同级兄弟元素E | 3 |
E:nth-last-of-type(n) | 匹配同类型中的倒数第n个同级兄弟元素E | 3 |
E:first-of-type | 匹配同类型中的第一个同级兄弟元素E | 3 |
E:last-of-type | 匹配同类型中的最后一个同级兄弟元素E | 3 |
E:only-child | 匹配父元素仅有的一个子元素E | 3 |
E:only-of-type | 匹配同类型中的唯一的一个同级兄弟元素E | 3 |
E:empty | 匹配没有任何子元素(包括text节点)的元素E | 3 |
E:not(s) | 匹配不含有s选择符的元素 | 3 |
E:target | 匹配文档中特定"id"点击后的效果 | 3 |
伪元素选择器
选择器 | 描述 | 版本 |
---|---|---|
E::first-letter | 选择文本块的第一个字母 | 3 |
E::first-line | 选择元素的第一行 | 3 |
E::before | 在元素前面插入内容,配合"content"使用 | 3 |
E::after | 在元素后面插入内容,配合"content"使用 | 3 |
E::selection | 设置对象被选择时的样式 | 3 |
让IE6-8支持伪类和属性选择器
如何才能让IE6~8支持CSS3伪类和属性选择器,也许你已经想到了,我们会用JavaScript工具来进行辅助,那么刚好|b8a1196ba628892a272de7140f6c58db424|就可以完成这件事情,而且使用起来很简单,只要把selectivizr.js引入到页面上就可以了,如下:
但是使用它还有一些注意事项:
必须要引用一个JavaScript库,比如jQuery
只能解析标签引入的样式,如果是
内容总结
以上是互联网集市为您收集整理的玩转CSS选择器(二)之浏览器支持,常见Bug,性能优化_html/css_WEB-ITnose全部内容,希望文章能够帮你解决玩转CSS选择器(二)之浏览器支持,常见Bug,性能优化_html/css_WEB-ITnose所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。