html 5 的CSS3新增的伪类选择器还包括哪些?

html-css03

html 5 的CSS3新增的伪类选择器还包括哪些?,第1张

:first-of-typep:first-of-type选择属于其父元素的首个 <p>元素的每个 <p>元素。

:last-of-typep:last-of-type选择属于其父元素的最后 <p>元素的每个 <p>元素。

:only-of-typep:only-of-type选择属于其父元素唯一的 <p>元素的每个 <p>元素。

:only-childp:only-child选择属于其父元素的唯一子元素的每个 <p>元素。

:nth-child(n)p:nth-child(2)选择属于其父元素的第二个子元素的每个 <p>元素。

:nth-last-child(n)p:nth-last-child(2)同上,从最后一个子元素开始计数。

:nth-of-type(n)p:nth-of-type(2)选择属于其父元素第二个 <p>元素的每个 <p>元素。

:nth-last-of-type(n)p:nth-last-of-type(2)同上,但是从最后一个子元素开始计数。

:last-childp:last-child选择属于其父元素最后一个子元素每个 <p>元素。

:root:root选择文档的根元素。

:emptyp:empty选择没有子元素的每个 <p>元素(包括文本节点)。

:target#news:target选择当前活动的 #news 元素。

:enabledinput:enabled选择每个启用的 <input>元素。

:disabledinput:disabled选择每个禁用的 <input>元素

:checkedinput:checked选择每个被选中的 <input>元素。

:not(selector):not(p)选择非 <p>元素的每个元素。

::selection::selection选择被用户选取的元素部分。

一、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选择器存在兼容性问题。平时多多练习,多动手。

CSS3给伪元素before添加hover操作:

1、伪元素的由两个冒号“::”开头,然后是伪元素的名称 ,使用两个冒号是为了区别伪类和伪元素。当然,考虑到兼容性,CSS2中已存的伪元素仍然可以使用一个冒号的语法,但是CSS3中新增的伪元素必须使用两个冒号;

2、一个选择器只能使用一个伪元素,并且伪元素必须处于选择器语句的最后,如果我们利用伪元素来进行动画设置,需要给父元素添加样式(position:relative);给:after或者:before添加(position:absolute);

3、某些内容时,只用在css样式表中利用:after与:before来输入内容样式,但更多的,可以结合伪类:hover 来设置动画样式。

这里要注意的是,这几个伪类如果同时出现在一个元素的操作上,顺序不能改变,否则很大程度上会产生紊乱,效果不生效。