Могу ли я переопределить inline!важно?
Если у вас
<div style="display: none !important;"></div>
есть ли способ переопределить это в таблице стилей, чтобы сделать его отображаемым?
предпочтительно использовать что-то подобное этому:
div { display: block !important; }
6 ответов
позвольте мне начать с того, что как правило, встроенные стили can быть переопределен:
.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>
это поведение описано в спецификациях W3, где указано, что !important
объявления не изменяют специфику, а скорее приоритет за "нормальной" декларации.
Это, как говорится, когда конфликтующие правила обоих !important
флаг, специфичность диктует, что применяется встроенное правило-это означает, что для сценария OP нет способа переопределить inline !important
.
вы не можете переопределить встроенный CSS, если он был !important
. Он имеет более высокий приоритет, чем стиль во внешнем файле CSS.
однако, если вы хотите изменить некоторые действия позже, вы можете использовать немного JavaScript.
вы не можете переопределить встроенный стиль, имеющий !important
. Первое предпочтение-встроенный стиль.
например: у нас есть класс
.styleT{float:left;padding-left:4px;width:90px;}
и в jsp
<div class="styleT" id="inputT" style="padding-left:0px;">
здесь не берет padding-left:4px;
.Это требует класса styleT
кроме заполнения-слева: 4px;.
Будет padding-left:0px;
.
вы не можете переопределить встроенный CSS, имеющего !important
, потому что он имеет более высокий приоритет, но, используя JavaScript, вы можете достичь того, чего вы хотите.
правила приоритета, когда два свойства CSS применяются к одному узлу:
!important
ударов не-!important
. Если одинаково !важный. ,..style
атрибут бьет css в файле. Если оба находятся в css-файлах...идентификатор в селекторе CSS не бьет ID. И больше IDs бьют меньше. (и вы думали, что нет причин для двух идентификаторов в селекторе.) Если же ID рассчитывать...
классы, или такие атрибуты, как
[name]
в селекторе посчитайте их; больше ударов меньше. Если все они одинаковы...имена тегов, как
span
илиinput
, больше ударов меньше.
Итак, вы видите inline !important
является наивысшим приоритетом.