20:17CSSの適用方法は多種多様です。様々な指定を行うため、これらが競合した場合に備え、優先度が決められています。スタイルのもっとも基本的な優先順位は、「後から読み込んだスタイルを優先的に適用」します。読み込む順序は、上から読み込まれていきますので、以下のような場合は後から書いているスタイルが優先されます。#333;が優先されます。次のように書いたとします。red;が優先されます。これはセレクタには個別性が決められており、その個別性の計算に従って優先度が決まるためです。ちなみに、冒頭で書いた「後から読み込んだスタイルが優先される」のはこの個別性の計算を行った後になります。セレクタの個別性の計算セレクタには子孫セレクタやクラスセレクタ、IDセレクタなどスタイルを適用させる方法は色々ありますが、個別性が高いセレクタ程、優先度が高くなります。この個別性の計算は以下のようになっています。style属性がある場合は、1000になります。IDセレクタを100としてその数を足します。id以外の属性と、擬似クラスを10としてその数を足します。要素、擬似要素を1としてその数を足します。*/補足ですが、p[id="foo"]のようにid属性を使っても、属性セレクタとして計算されるため、個別性は「10」となります。100として計算されるのはあくまでもIDセレクタを使った場合です。red;が優先されるのがわかります。感覚的により具体的な指定をするほど個別性が高くなるのが分かれば、都度計算せずとも特に問題は有りません。この辺りは、有る程度慣れてくれば問題なく適用できるようになります。これらの指定より優先させたい場合!important宣言をする事で可能です。!important宣言は最重要規則と言うくらいですから、制作者スタイルシート(CSSファイルやHTMLに直接)に書かれている中では最優先されます。#id3...のようにIDセレクタを使って個別性を数千にしても!important宣言の前では無力です。本当に必要な時の最終手段として使うのがいいと思います。この!important宣言は以下のように記述します。!important;}これで、CSSファイルやstyle属性での優先度がわかったかと思いますが、これ以外にもユーザースタイルシートやブラウザのデフォルトスタイルなどがあり、これらの最終的な優先順位は以下のようになります。!important宣言付きのユーザースタイル!important宣言付きの制作者スタイル制作者スタイルユーザースタイルUA(ブラウザなど)のデフォルトスタイルこれら個別性の計算や優先順位を意識してCSSを書く事で不要な!important宣言を無くせたり、スタイルが適用されないといった事を防げるようになります。