gpt4 book ai didi

html - 如何调试 CSS 特异性问题?

转载 作者:行者123 更新时间:2023-11-28 11:55:13 25 4
gpt4 key购买 nike

我使用 Vue、第三方模板、动态插件和各种技巧开发了一个应用程序。我真的很难使用 CSS。

我经常需要为页面上的特定元素设置样式,一个 <input>例如,我无法弄清楚如何编写一个实际有效的选择器。输入可能是由某些 Javascript 动态创建的,并且可能已经以编程方式应用了 CSS。

所以我转到 Firefox Web Developer,单击该元素,然后看到一堆 CSS 类。我创建一个规则:

.myCustomClass {
color: red;
}

将 myCustomClass 放入 <input> 的 class=""标签中,还有……什么都没有。

我想我需要像这样添加前缀:

.someOuterClass .someInnerClass .myCustomClass {
color: red;
}

但这很少奏效。有时我放弃并添加 !important .有时这行得通,有时却行不通。

所以我的问题是,我能否检查我在 Web Developer 中看到的类,并以某种方式得出一个足够具体以使其始终有效的规则?

我读过关于特异性的内容,但这没有帮助。

最佳答案

特异性有时是一种 PITA,尤其是当其他第 3 方库正在向组合中添加内容时。

以下是您可以尝试的一些方法:

  • 确保将样式添加到 CSS 的 ENDTheoretically ,你可以影响 Webpack 包含 CSS 的顺序(我从来没有尝试过)

  • ID 而不是 class 添加到要更改的元素外部的包装器中。然后在 CSS 链中引用此 ID,例如:#myAppID .className .subClassName {} 基本上,ID 在 CSS 特异性方面比类强。我会尝试在页面/ View 级别执行此操作,以使生活更轻松。

  • 如果元素已经获得类(如您在检查器中看到的那样),请尝试通过“覆盖”CSS 重用这些类。如果类是模块化的(具有随机后缀,如 someClass__34xft5),则不应使用这些类,因为如果重新编译源代码,它们可能会发生变化。在这种情况下,使用“匹配”选择器 [class^=”someClass__”] 来匹配具有该前缀的任何选择器。

不确定你想去多深,但是 here's an article关于覆盖 Amplify-Vue 预构建样式。

请注意,如果 CSS 是通过 javascript 内联添加到某处,将很难覆盖它。您可能希望将 !important 与上述内容结合使用。

关于html - 如何调试 CSS 特异性问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54993176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com