Skip to content

如何调试有着浏览器引擎前缀的伪元素 CSS?

标签
开发/前端
开发/前端/样式层叠表
开发/前端/样式层叠表/CSS
开发/前端/开发者工具
软件/浏览器
软件/浏览器/Edge
软件/浏览器/Chrome
开发/标记语言/HTML
开发/标记语言/HTML/DOM
开发/前端/浏览器/DOM
开发/前端/浏览器/阴影-DOM
开发/前端/浏览器/阴影-DOM/Shadow-DOM
字数
864 字
阅读时间
4 分钟

说明

写前端的时候你可能会用到下面的这些带有浏览器前缀的 CSS 伪元素选择器

一些常见的带有浏览器前缀的 CSS 伪元素选择器

这些伪元素选择器通常是用来给诸如滚动条范围输入元素(范围选择器)这样的可视元素添加不同的样式的,但是与 ::after::before 这样更加常见和通用的伪元素不同的是,这些伪元素选择器在不同的浏览器中有着不同的实现,而你也不能在开发者工具中直接审查和查看这些元素以及对应的 CSS 样式属性,这是因为这样的功能在基于 Chromium 内核的浏览器中是需要通过单独的开关来配置和打开的。

步骤

在基于 Chromium 内核的浏览器中激活该功能

基于 Chromium 内核的浏览器包括了 Google Chrome 和 Microsft Edge,想要在这些浏览器中配置和打开这些特殊的伪元素选择器其实非常简单。

你需要首先在网页上按 F12 或者右击网页并选择「审查元素(Inspect Elements)」来打开「开发者工具」。

然后找到右上角的设置按钮,点击进入开发者工具的设置:

在「元素(Elements)」一列,找到「显示用户代理阴影 DOM(Show user agent shadow DOM)」,勾选即可完成配置。

接下来你可以单击右上角的 X 图标来关闭设置界面,然后返回到开发者工具的「元素 Elements」标签,找到你希望调试的元素。

比如我这里正在调试一个 <input type="range" />(也就是范围输入元素(范围选择器)),可以观察到这个原本没有包含任何子元素的 <input> 元素突然多出来了可以展开的按钮,单击这个展开按钮就可以查看现在 <input> 元素附属的 track(范围输入滑块轨道)元素和 thumb(范围输入滑块)元素和他们的样式了:

现在在展开的 <input> 元素下方,就可以看到名为 #shadow-root (user-agent)(也就是先前配置的所谓「用户代理阴影 DOM」,或者说「User agent shadow DOM」)的元素,再次将鼠标移动到 #shadow-root (user-agent) 之后,就可以看到我们正在调试的滑块轨道和滑块元素都被高亮了,右侧也出现了先前无法在「样式 Styles」标签页中的 ::webkit-slider-runnable-track::webkkit-slider-thumb 伪元素:

参考资料

贡献者

页面历史

撰写

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。

聚光灯样式

调整聚光灯的样式。

置于底部
在当前鼠标悬停的元素下方添加一个纯色背景以突出显示当前鼠标悬停的位置。
置于侧边
在当前鼠标悬停的元素旁边添加一条固定的纯色线以突出显示当前鼠标悬停的位置。