css3---伪类与伪元素

1、伪元素可用于定位文档中包含的文本,但无法在文档树中定位。伪元素表示DOM外部的某种文档结构。伪类一般反应无法在css中轻松的检测到某个元素属性或者状态。

   CSS 伪类用于向某些选择器添加特殊的效果。

   CSS 伪元素用于将特殊的效果添加到某些选择器。

  第一两者都与选择器相关,第二就是添加一些“特殊”的效果

伪类和伪元素的根本区别在于:它们是否创造了新的元素(抽象)。从我们模仿其意义的角度来看,如果需要添加新元素加以标识的,就是伪元素,反之,如果只需要在既有元素上添加类别的,就是伪类。标准精确地使用 "create" 一词来解释伪元素,而使用 "classify" 一词来解释伪类的原因。

  伪类一开始单单只是用来表示一些元素的动态状态,典型的就是链接的各个状态(LVHA)。

  伪元素则代表了某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中

2、对于IE6~8,仅支持单冒号表示法,现代浏览器两种方法都支持。另外一个区别是,双冒号与单冒号在css3中主要用来区别伪类与伪元素

3、伪元素包括:

   css中的   :first-line  :first-letter  :before  :after

   css3调整后的  ::first-line  ::first-letter  ::before  ::after  ::selection

4、伪类包括:

 动态伪类选择器   :link   :visited  :hover  :active

 目标伪类选择器   :target

 UI元素状态伪类选择器  :checked  :enabled  :disabled

 结构伪类选择器  :first-child  :last-child  :root  E F:nth-child(n)  E F:nth-last-child  :nth-of-type(n)  :nth-last-of-type(n)  :first-of-type

:last-of-type  :only-child  :empty

 否定伪类选择器  :not()

 语言伪类选择器  E:lang(language)

原文地址:https://www.cnblogs.com/yuxingyoucan/p/6427449.html