我可以覆盖内联!重要吗?

Jef*_*rto 60 html css css-specificity

如果你有

<div style="display: none !important;"></div>
Run Code Online (Sandbox Code Playgroud)

有没有办法在样式表中覆盖它以使其显示?

最好使用与此类似的东西:

div { display: block !important; }
Run Code Online (Sandbox Code Playgroud)

o.v*_*.v. 76

首先让我说一般内联样式可以被覆盖:

.override {color:red !important;}?

<p style="color:blue;">I will be blue</p>
<p style="color:blue;" class="override">But I will be red</p>
Run Code Online (Sandbox Code Playgroud)

拨弄

W3规范中描述这种行为,其中!important声明声明不会改变特异性,而是优先于"正常"声明.

话虽这么说,当冲突规则都有!important标志时,特异性规定应用内联规则 - 这意味着对于OP的情况,没有办法覆盖内联 !important.

  • OP明确指出`inline!important` - 请正确阅读!尽管如此,+1才能得到很好的答案. (7认同)
  • 你的答案没有说明重写`!important`内联样式.该问题仅询问是否覆盖`!important`内联样式. (7认同)
  • 哦,对,我刚刚在你的最后一句话中注意到它. (4认同)
  • @Christoph:但答案同样明确指出“您不能覆盖内联 CSS”、“内联具有更高的优先级”……这是错误的,因此我的答案的原始措辞是错误的。我不希望每个人都编辑他们的答案来纠正错误 (2认同)
  • @BoltClock:嗯,我确实说没有办法覆盖内联重要(除了w /用户样式,但这超出了OP的控制范围).我担心其他答案中使用的措词表明不能覆盖香草内联规则. (2认同)

Sha*_*ngh 22

如果有内联CSS,则无法覆盖它!important.它的优先级高于外部CSS文件中的样式.

但是,如果您希望稍后更改某些操作,则可以使用一些JavaScript.

  • 不能使用javascript,它适用于电子邮件. (2认同)

Ahs*_*hod 7

你不能覆盖内联CSS !important,因为它具有更高的优先级,但是,使用JavaScript,你可以实现你想要的.


ıll*_*llı 5

你不能覆盖内联样式!important.首选是内联样式.

例如:我们有一个班级

.styleT{float:left;padding-left:4px;width:90px;}
Run Code Online (Sandbox Code Playgroud)

在jsp中

<div class="styleT" id="inputT" style="padding-left:0px;">
Run Code Online (Sandbox Code Playgroud)

这里不走padding-left:4px;.它采用类styleT除了填充左:4PX ;. 会有padding-left:0px;.