伪元素(Pseudo-elements) 和 伪类(Pseudo-classes)
伪元素
伪元素是发明 DOM 之外的对象
伪元素能够为一些在源文档中不存在的内容调配款式。
伪元素的内容实际上和一般 DOM 元素是雷同的,然而它自身只是基于元素的形象,并不存在于文档中,所以叫伪元素。
用法
是 2 个以冒号 ::
作为前缀,被增加到一个选择器开端的关键字,例如:::before 或者 ::after
。
伪元素 | 性能形容 | level |
---|---|---|
::after |
用来创立一个伪元素,作为已选中元素的最初一个子元素。通常会配合 content 属性来为该元素增加装璜内容。这个虚构元素默认是行内元素 | 2 |
::before |
创立一个伪元素,其将成为匹配选中的元素的第一个子元素。常通过 content 属性来为一个元素增加润饰性的内容。此元素默认为行内元素。 | 2 |
::first-letter |
选中某块级元素第一行的第一个字母,并且文字所处的行之前没有其余内容 | 1 |
::first-line |
在某块级元素的第一行利用款式。第一行的长度取决于很多因素,包含元素宽度,文档宽度和文本的文字大小 | 1 |
伪类
CSS 伪类是用来增加一些选择器的特殊效果。
伪类是基于元素的特色而不是他们的 id、class、属性或者内容。因为状态的变动是非动态的,所以元素达到一个特定状态时,它可能失去一个伪类的款式,所以它是基于文档之外的形象。
用法
是一个以冒号 :
作为前缀,被增加到一个选择器开端的关键字,例如::active :hover :link :visited
。
伪类 | 形容 | level |
---|---|---|
:first-child | 父元素的第一个子元素 | 2 |
:last-child | 父元素的最初一个子元素 | 2 |
:nth-child() | 找到所有以后元素的兄弟元素中符合条件的元素,例如 2n+ 1 就是查找 1,3,5,7 等 | 3 |