!important
CSS ではどういう意味ですか?
CSS 2 や CSS 3 でも利用できますか?
どこでサポートされていますか? すべての最新ブラウザですか?
ベストアンサー1
それは本質的には、書かれている通りの意味です。「これは重要であり、以降のルールや通常の特異性問題がある場合は、このルールを適用してください。'
通常の使用では、外部スタイルシートで定義されたルールは、head
ドキュメントの で定義されたスタイルによって上書きされ、そのスタイルは、要素自体のインライン スタイルによって上書きされます (セレクタの詳細度が等しいと仮定)。!important
'attribute' (?) を使用してルールを定義すると、'後の' ルールが '前の' ルールを上書きするという通常の懸念が破棄されます。
また、通常は、より具体的なルールが、より具体的でないルールよりも優先されます。つまり、
a {
/* css */
}
通常、以下の理由により却下されます:
body div #elementID ul li a {
/* css */
}
head
後者のセレクターはより具体的であるため (通常、より具体的なセレクターがどこにあるか (スタイルシート内か外部か) は関係ありません)、より具体的でないセレクターは上書きされます(インライン スタイル属性は常により具体的であるため、'more-' または 'less-' の具体的なセレクターを常に上書きします)。
ただし、!important
あまり具体的でないセレクターの CSS 宣言を追加すると、それが優先されます。
使用には!important
目的がある(ただし、目的を考えるのは難しい)が、それはキツネが鶏を殺すのを止めるために核爆発を使用するのとよく似ている。確かにキツネは殺されるが、鶏も殺される。そして近隣住民も。
また、CSS のデバッグも悪夢になります (個人的な経験から)。