スタイルのコピーや名前の変更を避けるために CSS クラスのプロパティをオーバーライドする方法 質問する

スタイルのコピーや名前の変更を避けるために CSS クラスのプロパティをオーバーライドする方法 質問する

私は CSS3 についてかなり初心者ですが、次のことができるようになりたいと思っています。

要素にクラスを追加すると、この特定の要素で使用されている別のクラスのプロパティがオーバーライドされます。

例えば、私が

<a class="left carousel-control" href="#carousel" data-slide="prev">

bakground-noneクラスのデフォルトの背景を上書きする というクラスを追加できるようにしたいと考えていますleft

ありがとう!

ベストアンサー1

プロパティをオーバーライドする方法はいくつかあります。

.left { background: blue }

たとえば、次のいずれかはこれを上書きします。

a.background-none { background: none; }
body .background-none { background: none; }
.background-none { background: none !important; }

最初の 2 つはセレクターの詳細度によって「勝ち」、3 つ目は!important鈍器によって勝ちます。

スタイルシートを整理して、例えば次のようなルールを作ることもできます。

.background-none { background: none; }

単に順序によって、つまりそれ以外では同様に「強力な」ルールです。ただし、これには制限が課せられ、スタイルシートの再編成には注意が必要です。

これらはすべて、CSS カスケードは、非常に重要でありながら、広く誤解されている概念です。スタイルシート ルール間の競合を解決するための正確なルールを定義します。

PS質問で使用されているようにleft、およびを使用しました。これらは、クラス名の例です。background-noneないこれらは、構造的または意味的な役割ではなく、特定のレンダリングを反映するため、使用することはできません。

おすすめ記事