伪元素选择器
Posted pengnima
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伪元素选择器相关的知识,希望对你有一定的参考价值。
伪元素选择器
-
::first-letter —— 匹配指定选择器的首字母/首汉字
-
::first-line —— 匹配指定选择器的首行。
-
::selection —— 匹配元素中被用户选中或处于高亮状态的部分。
-
::before —— 匹配被选元素的内容前面插入内容,可以与 content 配合使用
-
::after —— 匹配被选元素的内容后面插入内容,可以与 content 配合使用
before 和 after 的内容是无法被选取的
伪类和伪元素的区别
-
伪类本质上是为了弥补常规 CSS 选择器的不足,以便获取到更多信息;
-
伪元素本质上是创建了一个有内容的虚拟容器;
-
CSS3 中伪类和伪元素的语法不同—— :是伪类 , ::是伪元素
-
可以同时使用多个伪类,而只能同时使用一个伪元素,且伪元素只能在末尾使用
-
根本区别在于:它们是否创造了新的元素, 这个新创造的元素就叫 "伪元素" 。
- 伪元素/伪对象:是虚拟的元素,是创建新元素。 这个新元素(伪元素) 是某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中.
- 伪类:(无标签,找不到, 只有符合触发条件时才能看到 ), 逻辑上存在但在文档树中却无须标识的“幽灵”分类。
伪元素特点
- 伪元素要配合 content 属性一起使用
- 伪元素不会出现在 DOM 中,所以不能通过 js 来操作,仅仅是在 CSS 渲染层加入
- 伪元素的特效通常要使用:hover 伪类样式来激活
:before 和 ::before
- 相同点
- 都可以用来表示伪类对象,用来设置对象前的内容
- :befor 和::before 写法是等效的
- 不同点
- :befor 是 Css2 的写法,::before 是 Css3 的写法
- :before 的兼容性要比::before 好 ,不过在 H5 开发中建议使用::before 比较好
由于::before 和::after 生成的伪元素 包含在元素格式框内
因此不能应用在替换元素或单标签元素上, 比如 img 或 br 元素。
那些用 src 的都属于 导入,导入就是替换元素
用 href 的属于 引用,如 a 标签,非替换元素
以上是关于伪元素选择器的主要内容,如果未能解决你的问题,请参考以下文章
CSS常用选择器伪元素选择器伪类选择器大全——响应式Web系列学习笔记
python 之 前端开发(基本选择器组合选择器 交集与并集选择器序列选择器属性选择器伪类选择器伪元素选择器)