あなたが持っている場合
<div style="display: none !important;"></div>
スタイルシートでそれを上書きして表示させる方法はありますか?
できればこれに似たものを使用してください:
div { display: block !important; }
あなたが持っている場合
<div style="display: none !important;"></div>
スタイルシートでそれを上書きして表示させる方法はありますか?
できればこれに似たものを使用してください:
div { display: block !important; }
一般的にインラインスタイルはオーバーライドできるということから始めましょう:
.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のシナリオでは、インライン !important
をオーバーライドする方法はありません。
インラインCSSがある場合、それをオーバーライドすることはできません!important
。外部CSSファイルのスタイルよりも優先されます。
ただし、後でいくつかのアクションを変更したい場合は、JavaScriptを少し使用できます。
優先順位が高いため、インラインCSSをオーバーライドすることはできません!important
が、JavaScriptを使用すると、目的を達成できます。
を含むインラインスタイルをオーバーライドすることはできません!important
。最初の好みはインラインスタイルです。
例:クラスがあります
.styleT{float:left;padding-left:4px;width:90px;}
およびjspで
<div class="styleT" id="inputT" style="padding-left:0px;">
ここでは取りません。padding-left:4px;以外のpadding-left:4px;
クラスを取ります。styleT
ありますpadding-left:0px;
。
これが簡単なjQueryソリューションです。
$(document).ready(function() {
$('div').css('display','block');
})
あなたはこの例を見ることができます!CSSセレクターにはいくつかのルールがあります。最強のセレクターはインラインです(同じレベルの場合、!importantあり/なし)。次のもの:id、classなど。したがって、タグが!importantを使用してインラインcssによってすでに定型化されている場合は、Javascriptを使用して変更する方法があります。
var pid = document.getElementById('pid');
var button = document.getElementById('button');
button.addEventListener('click', function(){
pid.style.color = '';
});
p{color:violet !important;}
*{color:blue !important;}
html *{color:brown !important;}
html p{color:lighblue !important;}
.pclass{color:yellow !important;}
#pid{color:green !important;}
<p class="pclass" id="pid" style="color:red !important;">
Hello, stylize for me !
</p>
<button id='button'>Change color by JS</button>
ご覧のとおり、インラインcssによるスタイルが削除され、idが最強のセレクターになりました。
2つのCSSプロパティが同じノードに適用される場合の優先順位ルール:
!important
ビートではありません- !important
。同様に!重要な場合、..。
style
属性はファイル内のcssを打ち負かします。両方がcssファイルにある場合...
CSSセレクターのIDはIDに勝るものはありません。そして、IDが多いほどビートは少なくなります。(そして、セレクターに2つのIDがある理由はないと思っていました。)同じIDカウントの場合...
クラス、または[name]
セレクターのような属性は、それらを数えます。より多くのビートが少なくなります。それらがすべて同じなら...
span
またはのようなタグ名はinput
、ビートが多いほど少なくなります。
したがって、インライン!important
が最高の優先順位であることがわかります。