CSS 伪类用于向某些选择器添加特殊的效果。css
a:link {color: #FF0000} /* 未访问的连接 */ a:visited {color: #00FF00} /* 已访问的连接 */ a:hover {color: #FF00FF} /* 鼠标移动到连接上 */ a:active {color: #0000FF} /* 选定的连接 */
:first-child
:last-child
:nth-child(n)
:nth-last-child(n)
:only-child html
:first-of-type ---匹配属于其父元素的首个特定类型的子元素的每一个元素;
:last-of-type ---匹配元素的最后一个子元素;
:nth-of-type(n) ---:nth-of-type与nth-child类似,不一样之处在于它是只匹配特定类型的元素;
:nth-last-type(n) ---:nth-last-of-type与nth-of-type类似,不一样之处在于它是从最后一个子元素开始计数的;
:only-of-type ---当元素是其父元素中惟一一个特定类型的子元素时,:only-child匹配该元素;css3
:not ---否认伪类,用于匹配不符合参数选择器的元素;
:target ---当URL带有锚wordpress
关于child与:nth-of-type的区别,请参考CSS3选择器:nth-child和:nth-of-type之间的差别ui
:root ---匹配文档的根元素。通常的html文件的根元素是html元素,而SVG或XML文件的根元素则多是其余元素
:lang ---向带有指定 lang 属性的元素添加样式。code
任何常规选择器能够再任何位置使用伪类。伪类语法不区别大小写。一些伪类的做用会互斥,另一些伪类能够同时被同一个元素使用。而且,为了知足用户在操做DOM时产生的DOM结构改变,伪类也能够是动态的。
CSS 伪元素用于向某些选择器设置特殊效果。htm
:first-letter
:first-line
:before
:after文档
一个选择器只能使用一个伪元素,而且伪元素必须处于选择器语句的最后。使用两个冒号::是为了区别伪类和伪元素(CSS2中并无区别)。固然,考虑到兼容性,CSS2中已存的伪元素仍然可使用一个冒号:的语法,可是CSS3中新增的伪元素必须使用两个冒号::。get
伪元素在DOM树中建立了一些抽象元素,这些抽象元素是不存在于文档语言里的。it