细说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自定义滚动条样式写法
Dec 25 HTML / CSS
CSS3实战第一波 让我们尽情的圆角吧
Aug 27 HTML / CSS
css3 线性渐变和径向渐变示例附图
Apr 08 HTML / CSS
纯css3实现照片墙效果
Dec 26 HTML / CSS
CSS3中currentColor关键字的妙用
Feb 27 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
Jun 06 HTML / CSS
CSS3 实现的火焰动画
Dec 07 HTML / CSS
使用HTML5 IndexDB存储图像和文件的示例
Nov 05 HTML / CSS
html5触摸事件判断滑动方向的实现
Jun 05 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
Jan 31 HTML / CSS
移动端Html5中百度地图的点击事件
Jan 31 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
thinkphp 多表 事务详解
2013/06/17 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
英国网上电器商店:Electricshop
2020/03/15 全球购物
为什么group by 和order by会使查询变慢
2014/05/16 面试题
应届电子商务毕业自荐书范文
2014/02/11 职场文书
公共场所标语
2014/06/30 职场文书
2014年残联工作总结
2014/11/21 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
预备党员党支部意见
2015/06/02 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python