!important
CSS とはどういう意味ですか?
CSS 2で利用できますか?CSS 3?
どこでサポートされていますか?すべての最新のブラウザ?
!important
CSS とはどういう意味ですか?
CSS 2で利用できますか?CSS 3?
どこでサポートされていますか?すべての最新のブラウザ?
回答:
それは本質的に、それが言うことを意味します。「これは重要です。後続のルールを無視し、通常の特異性の問題があれば、このルールを適用してください!
通常の使用では、外部スタイルシートで定義されたルールhead
は、ドキュメントので定義されたスタイルによって上書きされ、次に、それ自体が要素自体のインラインスタイルによって上書きされます(セレクターの特定性が等しいと仮定)。!important
「属性」(?)を使用してルールを定義すると、「後の」ルールが「前の」ルールを上書きすることに関する通常の懸念が破棄されます。
また、通常、より具体的なルールは、より具体的でないルールをオーバーライドします。そう:
a {
/* css */
}
通常、以下によって却下されます。
body div #elementID ul li a {
/* css */
}
後者のセレクタは、より具体的な(そしてそれは、通常、問題より具体的なセレクタが(で発見されていないところであるとしてhead
)、または外部スタイルシートにはなりまだ少ない固有のセレクタをオーバーライドする(インラインスタイル属性ます常に 'more-'または 'less-'の特定のセレクターは常により具体的であるため、オーバーライドします。
ただし、!important
あまり具体的でないセレクターのCSS宣言に追加した場合は、それが優先されます。
使用に!important
は目的がありますが(私はそれらについて考えるのに苦労しますが)、核爆発を使用してキツネが鶏を殺すのを止めるのとよく似ています。はい、キツネは殺されますが、ニワトリも殺されます。そして近所。
また、CSSのデバッグを悪夢にします(個人的、経験的、経験から)。
important!
(重要ではない)と言っています
重要なルールは、CSSをカスケードする方法ですが、常に最も重要であると思われるルールを適用することもできます。!importantプロパティを持つルールは、そのルールがCSSドキュメントのどこに出現しても、常に適用されます。
したがって、次の場合:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
重要なルールは適用されたものになります(特異性は数えません)
私は!important
CSS1に登場したと思いますので、すべてのブラウザーがそれをサポートします(IE4からIE6、部分的な実装、IE7 +フル)
また、他の人と作業している場合は他のプロパティをオーバーライドできるため、これはあまり頻繁に使用したくないものです。
!
一部の言語ではNOTの記号として混乱が発生しますが、現在は明確になっています。
!important
。CSSは他の言語とは十分に異なり、特定のものの使い方を忘れがちです。
important!
でIMPORTANT!
はなく、として定義すべきであると考えていました!important
。前に句読点を付けてそれを定義した理由を誰か(これを読む可能性のある人)が知っているのだろうか?明らかに、今それを変更するには遅すぎる。
起点によるソートが行われるときに、CSSカスケードでのソートに影響を与えるために使用されます。他の回答でここに述べられているような特定性とは何の関係もありません。
優先度は、最低から最高までです。
その後、パイに指がまだ残っているルールが特定されます。
参照:
!important
に、カスケード順序 developer.mozilla.org/en-US/docs/Web/CSS/Cascadeの修飾子です(参照用の表を参照)。