我有一个来自页面构建器的HTML页面,它将style
属性直接注入到元素中。我发现它被视为element.style
。
我想使用CSS覆盖它。我可以匹配元素,但不会覆盖它。
如何使用CSS覆盖样式?
我有一个来自页面构建器的HTML页面,它将style
属性直接注入到元素中。我发现它被视为element.style
。
我想使用CSS覆盖它。我可以匹配元素,但不会覆盖它。
如何使用CSS覆盖样式?
removeProperty()
,即,例如,document.querySelector("li").style.removeProperty("display");
然后您也不需要提供新的默认值(就像您必须使用!important
,但是继承链只是“跳转”。)
Answers:
尽管它经常被皱眉,但您可以在技术上使用:
display: inline !important;
通常这不是一个好习惯,但在某些情况下可能是必要的。您应该做的是编辑代码,这样一来您就不会在<li>
元素上应用样式。
<li style="display: none;">
当然,!important技巧在这里起决定性作用,但更具体地定位目标可能不仅有助于实际应用您的替代(权重标准可以统治!important),而且还可以避免覆盖意外的元素。
使用浏览器的开发人员工具,确定令人反感的style属性的确切值;例如:
"font-family: arial, helvetica, sans-serif;"
要么
"display: block;"
然后,决定要覆盖的选择器分支;您可以根据自己的需要扩大或缩小选择范围,例如:
p span
要么
section.article-into.clearfix p span
最后,在您的custom.css中,使用[attribute ^ = value]选择器和!important声明:
p span[style^="font-family: arial"] {
font-family: "Times New Roman", Times, serif !important;
}
请注意,您不必引用整个样式属性值,仅需明确地匹配字符串即可。