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使用多列制作瀑布流
May 10 HTML / CSS
利用css3 translate完美实现表头固定效果
Feb 28 HTML / CSS
使用JS+CSS3技术:让你的名字动起来
Apr 27 HTML / CSS
CSS3实现多背景展示效果通过CSS3定位多张背景
Aug 10 HTML / CSS
初探CSS3中的calc()功能
Jul 14 HTML / CSS
CSS3绘制六边形的简单实现
Aug 25 HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
Dec 03 HTML / CSS
详解css3 Transition属性(平滑过渡菜单栏案例)
Sep 05 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
Apr 22 HTML / CSS
浅谈由position属性引申的css进阶讨论
May 25 HTML / CSS
CSS3教程:background-clip和background-origin
Oct 17 #HTML / CSS
细说CSS3中的选择符
Oct 17 #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
You might like
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
深入PHP FTP类的详解
2013/06/13 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
潜说js对象和数组
2011/05/25 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
jquery图片切换插件
2015/03/16 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
JavaScript之数组扁平化详解
2019/06/03 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
浅谈python jieba分词模块的基本用法
2017/11/09 Python
tensorflow获取变量维度信息
2018/03/10 Python
Python实现的knn算法示例
2018/06/14 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
python实现电子产品商店
2019/02/26 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
大学迎新生标语
2014/10/06 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
MySQL时区造成时差问题
2022/04/13 MySQL
Nginx限流和黑名单配置
2022/05/20 Servers