实用全面的css选择器

2017-04-12  本文已影响0人  TheoLin

首先推荐一个非常实用的css参考手册:http://www.css88.com/book/css/

css选择器详细语法:

1、 基本选择器:

选择器 类型 功能描述 例子
* 全部选择器 匹配文档中任何html元素 *
element 元素选择器 匹配指定名称的html元素 div
#id id选择器 匹配指定id的html元素 #password
.class 类选择器 匹配指定类的html元素 .header
a, b 选择多个选择器 匹配指定的a和b元素 .header, #password

2、 层次选择器:

选择器 类型 功能描述 例子
ab 多重选择器 匹配同时符合a和b的元素 div.header
a b 后代选择器 匹配包含在a里面的所有b元素 div p
a>b 子选择器 匹配在a子元素里的所有b元素 div>p
a+b 相邻后兄弟选择器 匹配位于a后的第一个元素且为b的元素 div+p
a~b 后兄弟选择器 匹配位于a后的所有b元素 div~p

3、动态伪类选择器:

选择器 类型 功能描述 例子
E:link 链接伪类选择器 选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上 a:link
E:visited 链接伪类选择器 选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上 a:visited
E:active 用户行为选择器 选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上 a:active
E:hover 用户行为选择器 选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover a:hover
E:focus 用户行为选择器 选择匹配的E元素,而且匹配元素获取焦点 input:focus

4、目标伪类选择器

选择器 类型 功能描述 例子
E:target 活动锚点选择器 选取当前活动的锚点 a:target

5、表单元素状态伪类选择器语法

选择器 类型 功能描述 例子
E:checked 选中状态伪类选择器 匹配选中的复选按钮或者单选按钮表单元素 input:checked
E:enabled 启用状态伪类选择器 匹配启用的表单元素 input:enabled
E:disabled 禁用状态伪类选择器 匹配禁用的表单元素 input:disabled

6、结构伪类选择器使用语法

选择器|功能描述|例子
-|
E:first-child|匹配作为父元素的第一个子元素且元素为E。与E:nth-child(1)等同|p:first-child
E:last-child|匹配作为父元素的最后一个子元素且元素为E。与E:nth-last-child(1)等同|p:last-child
E:root|:root在html文档里就代表html元素|:root或者html:root
E:nth-child(n)|匹配作为父元素的第n个子元素且为元素E。其中n可以是整数(1,2,3)、关键字(even,odd)、可以是公式(2n+1),而且n值起始值为1,而不是0.|li:nth-child(2)
E:nth-last-child(n)|匹配作为父元素的倒数第n个子元素且为元素E。和E:nth-child(n)顺序相反,其他用法一样|li:nth-last-child(3)
E:nth-of-type(n)|匹配E元素,且其在父元素里恰好排为第n个E元素|p:nth-of-type(2)
E:nth-last-of-type(n)|匹配E元素,且其在父元素里恰好排为倒数第n个E元素|p:nth-last-of-type(2)
E:first-of-type(n)|匹配E元素,且其在父元素里恰好排为第1个E元素|p:first-of-type(2)
E:last-of-type(n)|匹配E元素,且其在父元素里恰好排为倒数第1个E元素|p:last-of-type(2)
E:only-child|匹配E元素,且其父元素只有E这个元素|p:only-child
E:only-of-child|匹配E元素,且其父元素只有一个E类型元素|p:only-of-child
E:empty|匹配没有任何子元素(包括text节点)的元素E|p:empty

7、否定伪类选择器

选择器|功能描述|例子
-|
E:not(s)|匹配不含有s选择符的元素E|li:not(:last-child)

8、属性选择器
选择器|功能描述|例子
|
E[att] |匹选择具有att属性的E元素|img[alt]
E[att="val"] |选择具有att属性且属性值等于val的E元素|input[type="text"]
E[att="val"]|选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素(包含只有一个值且该值等于val的情况)|div[class="a"]
E[att="val"]|选择具有att属性且属性值为以val开头的字符串的E元素|div[class="a"]
E[att$="val"]|选择具有att属性且属性值为以val结尾的字符串的E元素|div[class$="c"]
E[att="val"]|选择具有att属性且属性值为包含val的字符串的E元素|div[class="b"]
E[att|="val"]|选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素,如果属性值仅为val,也将被选择|div[class|="a"]

9、伪类选择器

E:first-letter/E::first-letter
E:first-line/E::first-line
E:after/E::after
E::placeholder
E::placeholder

上一篇 下一篇

猜你喜欢

热点阅读