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 相关文章推荐
详解CSS样式中的 !important * _ 符号
Mar 09 HTML / CSS
用纯css3和html制作泡沫对话框实现代码
Mar 21 HTML / CSS
CSS3盒子模型详解
Apr 24 HTML / CSS
css3实现顶部社会化分享按钮示例
May 06 HTML / CSS
CSS3制作文字半透明倒影效果的两种实现方式
Aug 08 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
纯CSS3打造属于自己的“小黄人”
Mar 14 HTML / CSS
HTML5 Web 存储详解
Sep 16 HTML / CSS
html5超简单的localStorage实现记住密码的功能实现
Sep 07 HTML / CSS
移动HTML5前端框架—MUI的使用
Dec 18 HTML / CSS
canvas绘图按照contain或者cover方式适配并居中显示
Feb 18 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
May 14 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
PHP函数eval()介绍和使用示例
2014/08/20 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
Select2.js下拉框使用小结
2016/10/24 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
Python的动态重新封装的教程
2015/04/11 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
django 微信网页授权登陆的实现
2019/07/30 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
会计专业应届生求职信
2013/11/24 职场文书
老公给老婆的保证书
2014/04/28 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
大学生学年个人总结
2015/02/15 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
python Django框架快速入门教程(后台管理)
2021/07/21 Python
java多态注意项小结
2021/10/16 Java/Android
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏