たとえば、cssに2つの異なる状態があるcssにこの問題があります
#koolbutton .active {
color: #fff
}
#koolbutton{
color: #ccc //not active
}
このhtmlを試すと
<button id ="koolbutton" class="active">
白のアクティブなボタンではなく、通常のグレーのクールボタンが表示されます。ありがとう
との間のスペースを省略する必要が#koolbutton
あり.active
ます。
#koolbutton { /*not active*/ }
#koolbutton.active { /*active*/ }
これも試してみてください。
#koolbutton:active {
color: #fff; //when user click the button
}
#koolbutton{
color: #ccc; //normal display of button
}
これが実際のライブデモです。
問題は最初のセレクタにあります:
#koolbutton .active
id とクラス セレクターの間にスペースがあるため、これは のクラスを持つすべての要素とactive
の id を持つ祖先に適用されkoolbutton
ます。あなたが望むのは、クラスactive
とIDを持つすべての要素を選択することですkoolbutton
:
#koolbutton.active
セレクターの順序はCSS 固有性ルールにより重要ではありませんが、より保守しやすい CSS を作成するという観点から、デフォルト スタイルを最初に配置し、その後にそのスタイルのバリエーションを配置することをお勧めします。
#koolbutton { /* default styles */ }
#koolbutton.active { /* .active styles */ }
#koolbutton.foo { /* Another class styles */ }
アクティブ/フォーカス状態を本当にスタイルしたい場合は、おそらく:focus
および:active
疑似セレクターを確認する必要があります。