2024-02-07 08:00:06

如何覆盖!重要?

我已经创建了一个自定义样式表,它覆盖了我的Wordpress模板的原始CSS。然而,在我的日历页面上,原始CSS有每个表单元格的高度设置!重要声明:

td {height: 100px !important}

有什么办法能让我无视它吗?


当前回答

样式名称的每个部分都有权重,因此与该样式相关的元素越多,它就越重要。例如

#P1 .Page {height:100px;}

比:

.Page {height:100px;}

所以当使用important时,理想情况下,这个应该只在真正需要的时候使用。因此,要重写声明,使样式更具体,但也要使用重写。见下文:

td {width:100px !important;}
table tr td .override {width:150px !important;}

其他回答

我想补充一个没有提到的答案,因为我尝试了以上所有的方法都没有效果。我的具体情况是我正在使用semantic-ui,它在元素上内置了!important属性(非常烦人)。我尝试了一切重写它,只有在最后做了一件事(使用jquery)。具体如下:

$('.active').css('cssText', 'border-radius: 0px !important');

免责声明:无论如何都要避免!

这是一个肮脏的,肮脏的hack,但是你可以覆盖!important,没有!important,通过在你试图覆盖important的属性上使用(无限循环或非常长时间的)动画。

@keyframes forceYellow { 从{ 背景颜色:黄色; } , { 背景颜色:黄色; } } div { 宽度:100 px; 身高:100 px; 保证金:0自动; 背景:红色!重要; 动画:1s线性无限力黄色; } < div > < / div >

这也有帮助

td[style] {height: 50px !important;}

这将覆盖任何内联样式

如果您试图重写在类中定义的!important标记。只需在id标记中指定您的属性。Id的优先级高于class。

使用JavaScript重写

$('.mytable td').attr('style', 'display: none !important');

为我工作。