0

id を介して最初にスタイルを定義したときにのみ、ラベル タグのクラスを介したラベルのスタイリングが機能する理由を誰か教えてもらえますか?

これが私の例です:

なぜこれが境界線を緑色にするのですか: http://jsfiddle.net/HxrSU/13/

それでも、ID を介してスタイリングを削除すると、これは行われませんか? http://jsfiddle.net/HxrSU/14/

これが完全なコードです。http://jsfiddle.net/HxrSU/13/のコードです

<style type="text/css">
#red {
border: thick dotted red;    
} 

.label-for-check {
border: thick solid green;
}
</style>   

<input type="checkbox" id="check" class="check-with-label" />

<label for="check" id="red" class="label-for-check">
 MyField
<input type='text' id='myfield' name='myfield' size='10'  />
</label>
4

3 に答える 3

0

ID の CSS ステートメントは、クラスの CSS ステートメントよりも優先順位 (特異性) が高くなります。

詳細: http://www.w3.org/TR/CSS2/cascade.html

ID ステートメントをクラス ステートメントでオーバーライドする 1 つの方法は、相互の祖先からの ID を含めることです。

http://jsfiddle.net/HxrSU/25/

#page .label-for-check {
    border: thick solid green;
}
于 2013-03-14T17:22:24.103 に答える
0

すべてのラベルを同じにしたい場合は、次のようにします

label {
border:5px solid red;  
 } 

特定のものをさらに特化したい場合は、クラスまたは ID を使用します。

于 2013-03-14T17:24:04.950 に答える
0

変化する:

.label-for-check {
border: thick solid green;
}

に:

label.label-for-check {
border: thick solid green;
}

そしてそれはうまくいくでしょう。

ここを参照してください:http://jsfiddle.net/2SFbY/

于 2013-03-14T17:25:32.360 に答える