HTMLで、要素に複数のスタイルルールが適用される場合、優先順位はどのようになりますか?
Rules that apply to an element identified by an id
Rules that apply to all elements of a particular class
Rules that apply to one or more specified tags
id> class> tagsだと思いますが、正しいですか?
(いつものように…)複数のことが関係していますが、重要な順序は次のとおりです。
セレクターの順序[および/または完全性のためのcssの使用法](およびそれらが特異性の値に追加するもの):
style=""
)!important
!important
!important
!important
!important
256
1つの要素/セレクターのクラスがidよりも高い特異性を持っていることを示すテストがありました。しかし、実際には、ほとんどの場合(CSSを「正しく」実行する場合)、クラスの数とcssファイル内の位置を処理します(クラスやタグに勝る利点がないため、#idでスタイルを設定しないでください)。主に一般的なスタイルにのみ使用されます)
特異性について詳しくは、http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/をご覧ください。
HTML:
<div id="johnny" class="walker whisky"> -- </div>
CSS:
/* example one */
div { border-color: red; } // border is red
.whisky { border-color: brown; } // now it's brown
#johnny { border-color: black; } // now it's black
div#johnny { border-color: red; } // it's red again
.walker { border-color: green !important; } // it's green
/* example two */
.whisky {border-color: brown; }
.whisky.walker {border-color: green; }
/* green */
/* example two */
.whisky.walker {border-color: brown; }
.whisky {border-color: green !important; }
/* green */
お役に立てれば。
スタイルのフォーマットルールを試すには、たとえばChromeを使用することをお勧めします。ChromeはWeb Developer Pluginであるため、ルールが特定のノードに実際にどのように適用されるかについての洞察が得られます...