CSS の特異性

同じ要素に異なる CSS スタイル コードを設定する場合があります。そのため、どの CSS スタイルがその要素に対して有効になるでしょうか。次のコードを見てみましょう:

p{color:red;}
.first{color:green;}
<p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

p と .first は両方とも p タグに一致するため、どちらが有効になりますか?色は表示されるのでしょうか?緑色が正しい色ですが、なぜでしょうか?これは、ブラウザーが重みに基づいてどの CSS スタイルを使用するかを決定し、より高い重みを持つ CSS スタイルが使用されるためです。

以下は重みのルールです:

ラベルの重みは 1、クラス セレクターの重みは 10、ID セレクターの重みは最大 100 です。 たとえば、次のコード:

p{color:red;} /*权值为1*/p span{color:green;} /*权值为1+1=2*/.warning{color:white;} /*权值为10*/p span.warning{color:purple;} /*权值为1+1+10=12*/#footer .note p{color:yellow;} /*权值为100+10+1=111*/

注: 別の特別な重みがあります - Inheritance にも重みがありますが、それはわずか 0.1 であると提案されている文献もあります。継承の重みは最も低くなります。 りー



学び続ける
||
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<style type="text/css">
p{color:red;}
.first{color:green;}/*绿*/
span{color:pink;}/**/
p span{color:purple;}
</style>
</head>
<body>
<h1></h1>
<p class="first"><span></span
     >
     </p>
<p id="second">
     ""</p>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
图片放大关闭