细说CSS3中的选择符


Posted in HTML / CSS onOctober 17, 2008

英文原文:
http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/
中文翻译:
http://www.dudo.org/article.asp?id=197
注:本文写于2006年1月,当时IE7、IE8和Firefox3还未发行,文中所有说的浏览器支持均未包括这三个版本的浏览器。在IE8和Firefox3中,文中的大部分选择符已经被支持[dudo注]
在2005年的9月和10月,我先后发表了几篇关于CSS2.1中选择符的介绍文章。大体看来那几篇文章中介绍过的大部分选择符都已经可以在像Mozilla/Firefox,Safari和Opera等现代浏览器中使用了。我们现在要做的就是等待Internet Explorer尽快赶上来,那我们就可以尽情地使用CSS2.1中的选择符了。好在Internet Explorer在其第7个版本中已经在尽力追赶了,至少在某些扩展方面。
如果我们再向前看一点,在CSS3中还有功能更加强大的选择符等待我们去发掘和使用。CSS3中的很多选择符已经在现代浏览器中得到很好的应用(IE8.0中也已经部分地支持了CSS3,dudo注),但是这些基本功能上的支持还远远不能满足开发者使用的要求。但是在某些情况下使用他们可以带来很好的超前体验,因此我认为了解一下CSS 3新增选择符是如何使用还是有益处的。
本文中对选择符描述主要是参考了《2005年12月15日W3C制定的选择符草稿》。草稿中讲到的新的选择符可能会在CSS的第3个版本中出现,但是也可能会出现在其他语言中。如果你是几个月前甚至是几年前读过这篇草稿,那么现在你应该再去看一下是不是已经出现了最新版本了。
这里我不打算去解释CSS选择符工作的基本原理。如果你想重要复习一下的话,最好从《细说CSS2.1中的选择符》开始。
首先,快速浏览一下CSS3中新增的选择符:
CSS3选择符语法概览
选择符类型 表达式 描述 子串匹配的属性选择符 E[att^="val"] 匹配具有att属性、且值以val开头的E元素 子串匹配的属性选择符 E[att$="val"] 匹配具有att属性、且值以val结尾的E元素 子串匹配的属性选择符 E[att*="val"] 匹配具有att属性、且值中含有val的E元素 结构性伪类 E:root 匹配文档的根元素。在HTML中,根元素永远是HTML 结构性伪类 E:nth-child(n) 匹配父元素中的第n个子元素E 结构性伪类 E:nth-last-child(n) 匹配父元素中的倒数第n个结构子元素E 结构性伪类 E:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素E 结构性伪类 E:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素E 结构性伪类 E:last-child 匹配父元素中最后一个E元素 结构性伪类 E:first-of-type 匹配同级兄弟元素中的第一个E元素 结构性伪类 E:only-child 匹配属于父元素中唯一子元素的E 结构性伪类 E:only-of-type 匹配属于同类型中唯一兄弟元素的E 结构性伪类 E:empty 匹配没有任何子元素(包括text节点)的元素E 目标伪类 E:target 匹配相关URL指向的E元素 UI元素状态伪类 E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素 UI元素状态伪类 E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素 UI元素状态伪类 E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E UI元素状态伪类 E::selection 匹配E元素中被用户选中或处于高亮状态的部分 否定伪类 E:not(s) 匹配所有不匹配简单选择符s的元素E 通用兄弟元素选择器 E ~ F 匹配E元素之后的F元素

如果对上面的描述还不是很清楚的,请不要担心。本文下面的部分将会对他们进行更加详细的讲解,并且提供例子来演示他们是怎么使用的。

上一页12 3 4 5 下一页 阅读全文
HTML / CSS 相关文章推荐
CSS3 特效范例整理
Aug 22 HTML / CSS
使用css3制作动感导航条示例
Jan 26 HTML / CSS
简单几步用纯CSS3实现3D翻转效果
Jan 17 HTML / CSS
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
Nov 16 HTML / CSS
基于 HTML5 WebGL 实现的垃圾分类系统
Oct 08 HTML / CSS
html5中为audio标签增加停止按钮动作实现方法
Jan 04 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
Aug 31 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
Nov 16 HTML / CSS
HTML5新增form控件和表单属性实例代码详解
May 15 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
Aug 16 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
Sep 05 HTML / CSS
CSS3实现的文字弹出特效
Apr 16 HTML / CSS
css3 给背景设置渐变色的方法
Sep 12 #HTML / CSS
css3中用animation的steps属性制作帧动画
Apr 25 #HTML / CSS
css3 中实现炫酷的loading效果
Apr 26 #HTML / CSS
使用 css3 transform 属性来变换背景图的方法
May 07 #HTML / CSS
详解CSS3 弹性布局快速入门
Jun 06 #HTML / CSS
通过css3动画和opacity透明度实现呼吸灯效果
Aug 09 #HTML / CSS
CSS3 translate导致字体模糊的实例代码
Aug 30 #HTML / CSS
You might like
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
浅谈webpack编译vue项目生成的代码探索
2017/12/11 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
总经理司机职责
2014/02/02 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python
详解非极大值抑制算法之Python实现
2021/06/28 Python
python中的sys模块和os模块
2022/03/20 Python
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js