css3 新增选择器有哪些?

html-css014

css3 新增选择器有哪些?,第1张

一、css3之前的选择器

ID选择器,#

类选择器,.

包含选择器(E F)

伪类选择器(:link,visited,hover,active,focus,first-child)

伪元素选择器(::first-line,first-letter,before,after)

通配选择器(.)

属性选择器(foo[name='martin'])

子包含选择器(E>F)

相邻兄弟选择器(E+F)

二、css3新增选择器

新增属性选择器:

E[foo^='bar'] 匹配E元素,该元素包含foo属性,且foo属性值以bar开头

E[foo$='bar'] 匹配E元素,该元素包含foo属性,且foo属性值以bar结尾

E[foo*='bar'] 匹配E元素,该元素包含foo属性,且foo属性值包含bar字符串

新增结构伪类选择器:

E:root 匹配文档所在的根元素

E:nth-child(n) 匹配E所在父元素第n个匹配E的元素,非E的子元素也参与排序,若第n个子元素不是E元素,则该语句没有效果(注意这里的n从1开始)

E:nth-last-child(n) 匹配E所在父元素倒数第n个匹配E的元素

E:nth-of-type(n) 匹配E所在父元素第n个匹配E的元素,非E的子元素不参与排序(n同样是从1开始)注意区别nth-child(n)

E:last-child

E:first-of-type

E:last-of-type

E:only-child

E:only-of-type

E:empty

另外,使用前要考虑浏览器版本,新增css3选择器存在兼容性问题。平时多多练习,多动手。

Selectivizr可以让IE6~8支持CSS3伪类和属性选择器,selectivizr是一个JavaScript工具,使IE浏览器也可以支持CSS3伪类以及属性选择器,使用很简单,只要把js include到页面上。示例代码如下:

<script type="text/javascript" src="selectivizr.js"></script>

<![endif]- ->

Selectivizr的优点在于:

1. 让老的IE浏览器支持19个CSS3伪类,2个伪元素,以及所有的属性选择器。

2. 即使你完全不懂JavaScript,也没有关系,因为你只要链接这个文件就ok了。

3. 可以与现存的JavaScript库协调工作。