正しく設定しているのに、CSSが反映されない時、CSS詳細度が影響しているケースが
あります。CSS詳細度はスタイルの適用を判定する優先順位のようなもので、その順位が高いほど、スタイルの設定が優先されます。

インラインスタイル: htmlなどに直接指定されたスタイルが最も詳細度が高いです。
例: <div style="color: red;">...</div>
②IDセレクタ: #id の形式のセレクタが次に詳細度が高いです。クラスと違い、唯一のため、詳細度が高いと思われます。 例: #Idname
クラスセレクタ、属性セレクタ、擬似クラス: .classname[attr=value]:hover のようなセレクタがこのカテゴリに属します。
要素セレクタと擬似要素: pdiv::before のようなセレクタがこれに該当します。

上記の詳細度以外も優先順位があり、「何で効かないの?」と思ってしまうケースが多いです。同じクラス名を後から上書きしていたなどのケアレスミスもあり、長時間悩んでしまうケースもあります。最後の解決方法として、importantがあります。importantはCSSでのスタイル宣言の優先度を強制的に上げるための特別なキーワードです。
.text {
color: red !important;
}
上記のように使用しますが、あまり、多用しない方がいいようです。後々のメンテナンスが難しくなる。パフォーマンスが落ちるなどのディメリットもあり、最終手段と言われています。

投稿者

Kの手習い

前職はOA機器の販売営業でしたが、退職して、50代で1からプログラマーを目指します。一般的にこの年齢からは厳しいと言われておりますが、この歳ならではの経験を活かして、頑張ります!

コメントを残す