CSS3选择器分类:
通过基本选择器就可以确定HTML树形结构中大多数的DOM元素节点。
选择器类型说明
*通配选择器选择文档中所有的HTMl元素
E元素选择器选择指定类型的HTMl元素
#IDID选择器选择指定ID属性值的元素
.class类选择器选择指定class属性的元素
selector1,selectorN群组选择器把每一个选择器匹配的元素集合并
层次选择器,常用的选择器
E F后代选择器选择匹配F的元素,F被包含在E里面
E>F子选择选择F元素,并且F元素是E元素的子元素
E+F相邻兄弟选择器选择F元素,并且F元素紧跟在E元素的后面
E~F通用兄弟选择器选择F元素,并且位于匹配E元素后的所有匹配F元素
动态伪类选择器:动态伪类并不存在与HTML中,只有在用户和网站交互时才会体现出来!
E:link链接伪类选择器选择匹配E的元素,并且匹配元素定义分超链接未被访问过,通常用在链接锚点上。
E:visited链接伪类选择器选择匹配E的元素,并且匹配元素定义分超链接已经被访问过,通常用在链接锚点上。
E:active用户行为伪类选择器选择匹配元素的E元素上,并且匹配元素被激活。常用于锚点和按钮上
E:hover用户行为伪类选择器选择匹配E的元素,并且用户鼠标停留在E元素上。
E:focus用户行为伪类选择器选择匹配E的元素,并且匹配的元素获得焦点
目标伪类选择器:“:target”是众多实用的CSS3特性中的一个,用来匹配文档(页面)的URI[插图]中某个标志符的目标元素。
E:target目标伪类选择器选择匹配E的所有元素,并且匹配元素被相关URL指向
语言伪类选择器:语言伪类选择器是根据元素的语言编码匹配元素
使用HTML5,则直接设置文档的语言
语言伪类选择器允许不同的语言定义特殊的规则,一般在多语言版本的网站中用的比较多些
E:lang(language)表示选择匹配E的所有元素,且匹配元素指定了lang属性,而且其值为language
UI元素状态伪类选择器:UI元素的状态一般包括:启用、禁用、选中、未选中、获得焦点、失去焦点、锁定和待机等,表单中常用的伪类选择器如下:
E:checked选中状态选择器匹配选中的复选框或单选按钮表单元素
E:enabled启动状态伪类选择器匹配所有启动的表单元素
E:disabled不可用状态伪类选择器匹配所有禁用的表单元素
结构伪类选择器:根据元素在文档树中的某些特性(如相对位置)定位到它们
选择器说明
E:first-child父元素的第一个子元素,与E:nth-child(1)相同
E:last-child父元素的最后一个子元素,与E:nth-last-child(1)相同
E:root选择匹配元素所在的根元素,在HTML中根元素始终都是html,该选择器与HTML类型选择器匹配的内容相同。
E:nth-child(n)选择父元素的第N个子元素,N是整数(1,2,3)、关键字(even、odd)、公式(2n+1),n的初始值为1.
E:nth-last-child(n)选择父元素的倒数第n个子元素
E:nth-of-type(n)选择父元素内具有指定类型的第n个元素
E:nth-last-of-type(n)选择父元素内具有指定类型的倒数第n个元素
E:first-of-type选择父元素内具有指定类型的第一个元素
E:last-of-type选择父元素内具有指定类型的最后一个元素
E:only-child选择父元素只包含一个子元素
E:only-of-type选择父元素只包含一个同类型的子元素
E:empty选择没有子元素的元素,并且该元素没有任何文本节点
否定伪类选择器:主要用来定位不匹配该选择器的元素
E:not(F)匹配所有除元素F外的E元素
伪元素:CSS3中,在以前的基础上增加一个冒号。如:
::first-line 、::first-letter 、::before 、::after 、::selection,双冒号和单冒号主要是用来区分伪类和伪元。两种方式都被各种浏览器支持,
对于IE6~IE只支持单冒号的方式。
::first-letter,用来选择文本块的第一个字母
::first-line,用来匹配元素的第一行文本,应用一些特殊的样式,给文本添加一些细微的区别。
::before和::after,用来插入额外内容的位置,生成的内容不会成为DOM的一部分,
但是和DOM一样可以设置样式。必须要匹配content属性才能生成内容。
::selection,用来匹配突出显示的文本。但是它仅仅接受两个属性:background和color。
属性选择器:
E:[attr]选择具有某个属性的元素
E:[attr=val]选择属性为attr并且属性值为val的元素
E:[attr|=val]选择attr属性值为val或者val-开头的所有字符串属性元素
E:[attr~=val]选择匹配元素的某个属性具有一个或多个属性值,多个属性值用逗号隔开,当属性值中有一个艺术性与之匹配,就选中该元素。
E:[attr*=val]选择属性为attr并且属性值含有val字符串的元素
E:[attr^=val]选择attr属性值以val开头的所有元素
E:[attr$=val]选择attr属性值以val结尾的所有元素