変更してみる
.courier {
font-family: courier;
}
に
* {
font-family: courier;
}
理由は @koala_dev が言及したものと同じです。「.courier」はクラス「courier」の要素にのみ適用され、コードから、そのクラス名でラベル付けされたコンテンツがないため、フォントは適用されません。
ただし、*
セレクターは CSS font-family ルールをすべての要素のテキストに適用します。
CSS は特異性の優先順位を使用することに注意してください。また、同じ要素に適用されるが、より具体的な識別子を持つ他の CSS セレクターがある場合、それらの CSS ルールで指定された font-family は、セレクター*
で指定された一般的なルールをオーバーライドします。*
.
更新 (これは CSS では悪い考えと見なされますが、役立つ場合があります)
競合している可能性のある他の CSS ルールが見つからない場合は、そのルールを使用して!important
他のルールをオーバーライドできます (他のルールも使用している場合を除きます)。
* { font-family: courier !important }
警告
ただし、使用!important
は悪い習慣と見なされますが、競合する CSS ルールが失われているようで、機能するものが必要な場合に役立つ可能性があります。
!important
優先度に関する CSS の通常の「カスケード」ルールが妨げられます。例として、h2
通常の結果は arial になりますが (より具体的なセレクターのため)、要素は以下の試験で font-family courier を持ちます。ルールには述語が適用されているため、より具体的なセレクターh2
は、より具体的でないセレクターによってオーバーライドされます。*
*
!important
* { font-family: courier !important }
h2 { font-family: arial }
詳細については、これを除いて読んで、次のリンクで読み続けてください。
... !important を使用して CSS 値をポストスクリプト化することは、非常に悪用され、面倒で保守が困難な CSS になる可能性があります。不幸な典型的なユースケースは次のようになります。
- FRAGGLE ROCKING CSS が機能しないのはなぜですか?!?!
- (!重要なルールを使用)
- よし、今それは働いている
その後、次の担当者がやって来て、新しい変更を加えようとします。彼はいくつかの既存の CSS ルールを変更しようとしていますが、現在、彼の変更は本来の動作をしていません。彼は問題を !important ルールまでさかのぼり、選択を迫られます。彼はそれらを取り除いて物事を軌道に戻そうとするか、それらと戦って自分の変化を成し遂げるために独自のものを追加することができます. 最初に !important ルールが追加された理由が正確にわからない可能性があるため、知らないサイトのどこかで何かが壊れるのを恐れて、2 番目のオプションを選択する可能性があります。そして、悪循環が始まります。
ここで読み続けてください: http://css-tricks.com/when-using-important-is-the-right-choice/