如何覆盖!重要?

的CSS CSS

Tony凯

2020-03-24

我创建了一个自定义样式表,该样式表将覆盖Wordpress模板的原始CSS。但是,在我的日历页面上,原始CSS具有!important声明的每个表格单元格的高度

td {height: 100px !important}

有什么办法可以覆盖这个吗?

第3681篇《如何覆盖!重要?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

6个回答
神乐 2020.03.24

这里有几个答案对我有用。谢谢。我应该提到的一件事是,根据我自己的经验,也许还有很多人在这里寻找答案的经验,我敢肯定大多数人都不想使用!important,但必须这样做。我在许多项目中使用Joomla CMS,并且模板开发人员使用!important来喷洒其代码。很难解决他们的代码,并且在覆盖文件中,使用!important的次数比实际所需的次数多。

JinJin 2020.03.24

无论如何,您都可以使用max-height覆盖“ height”

伽罗 2020.03.24

免责声明:不惜一切代价避免!important。

这是一个肮脏的,肮脏的hack,但是您可以通过在要覆盖其重要内容的属性上使用(无限循环或持续时间很长的)动画来覆盖!important而不使用!important。

@keyframes forceYellow {
  from {
    background-color: yellow;
  }
  to {
    background-color: yellow;
  }
}

div {
  width: 100px;
  height: 100px;
  margin: 0 auto;
  background: red !important;
  animation: 1s linear infinite forceYellow;
}
<div></div>

小胖Gil 2020.03.24

好的,这是有关CSS重要性的快速课程。希望以下内容对您有所帮助!

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

#P1 .Page {height:100px;}

比以下更重要:

.Page {height:100px;}

因此,在使用重要功能时,理想情况下,只有在真正需要时才使用它。因此,要覆盖细节,使样式更具体,但也要覆盖。见下文:

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

我希望这有帮助!!!

LGil 2020.03.24

!important当您在样式表冲突的有选择,才应使用特异性

但是,即使您的特异性冲突,也最好为异常创建一个更具体的选择器。在您的情况下,最好class在HTML中添加一个,您可以使用它创建一个不需要!important规则的更具体的选择器

td.a-semantic-class-name { height: 100px; }

我个人从不!important在样式表中使用。请记住,CSS中的C是用于级联的。使用!important将打破这一点。

Gil伽罗小宇宙 2020.03.24

这也可以帮助

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

这将覆盖任何内联样式

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android