css - 在浏览器开发者工具中检查/切换 CSS 伪类
问题描述
我们有几十个CSS 伪类。大多数浏览器的开发工具只允许我们检查/切换其中的一小部分,例如:hover
, :focus
, :active
.
您如何检查特定元素是否具有其他伪类?你怎么能切换它们?
一个例子是,Bootstrap 表单验证根据元素是否通过验证来应用:invalid
和:valid
伪类。input
假设我们需要通过检查和切换这些伪类来调试自定义验证规则和反馈。您将如何在开发人员工具中做到这一点?
我并没有将问题限制在 Chrome DevTools 上。使用任何浏览器开发工具来回答这个问题都很好。同样,我不会将此问题限制在 Bootstrap 验证的特定用例(这只是想到的第一个),因为该用例仅涵盖了许多其他 CSS 伪类中的两个。
解决方案
您如何检查特定元素是否具有其他伪类?
在 Chrome 中,您可以使用开发人员工具检查某些 CSS 伪类的状态,为此,让我们以Bootstrap 链接为例:
伪类 | 属性名称 | 价值 | 强制状态存在 |
---|---|---|---|
:积极的 | 不适用 | 不适用 | 是的 |
:检查 | 检查 | 真的 | 不 |
:默认 | 默认选中 | 真的 | 不 |
:禁用 | 禁用 | 真的 | 不 |
:空的 | 子节点 | 空列表或仅评论 | 不 |
:启用 | 禁用 | 错误的 | 不 |
:重点 | 不适用 | 不适用 | 是的 |
:焦点可见 | 不适用 | 不适用 | 是的 |
:专注于内 | 不适用 | 不适用 | 是的 |
:徘徊 | 不适用 | 不适用 | 是的 |
:不定 | 不定 | 真的 | 不 |
:在范围内 | 有效性.rangeOverflow和有效性.rangeUnderflow | 错误的 | 不 |
:无效的 | 有效性.有效 | 错误的 | 不 |
:可选的 | 必需的 | 错误的 | 不 |
:超出范围 | 有效性.rangeOverflow或有效性.rangeUnderflow | 真的 | 不 |
:只读 | 只读 | 真的 | 不 |
:读写 | 只读 | 错误的 | 不 |
:必需的 | 必需的 | 真的 | 不 |
:有效的 | 有效性.有效 | 真的 | 不 |
:访问过 | 不适用 | 不适用 | 是的 |
你怎么能切换它们?
尽管正如我们在上面看到的,我们可以检查一些伪类的值,但其中一部分是只读的,:valid
因为:invalid
浏览器会计算输入的有效性,然后将结果放入ValidityState
(名为 的属性对象validity
)中:
但是对于上面列出的大多数属性,您可以编辑该值,轻松执行以下步骤:
- 右键单击要编辑属性的元素(在我的情况下与上面的输入相同),然后单击上下文菜单底部的“存储为全局变量”:
- 现在在控制台中,您可以看到浏览器赋予这个新变量的名称:
- 最后,我们可以编辑所需的属性来触发(或“删除”)关联的伪类,在我的例子中
:required
是:
PS:当您重新加载或关闭页面/选项卡时,创建的全局变量将被自动删除。
推荐阅读
- r - 在主 APP 中使用 renderUI 或 InsertUI 时,闪亮模块服务器中的输入未更新
- clojure - 在 Clojure 中将关键字应用于映射与映射到关键字
- salesforce - 表列调整大小 Salesforce 闪电 slds
- linux - 如何在 shell “find” cmd 中指定 2 个文件名条件?
- vue.js - Vue 应用程序部署和在没有项目文件的情况下进行更改
- java - 在 Spring Boot Rest api 中使用 @embeded 时在 db 中获取空值?java新手帮帮我
- awk - 在 awk 和 echo 之后删除额外的空间
- python - 我该怎么做才能安装 Open-CV 库?如图所示,我遇到了冲突问题
- pyspark - org.apache.spark.sql.AnalysisException:无法解析 '`sub_tot`' 给定 pyspark 中的输入列
- three.js - 未应用 ThreeJS 面部颜色