HTML+CSSで気軽に始められるこだわり
同じ要素に異なる CSS スタイル コードを設(shè)定する場(chǎng)合があります。その場(chǎng)合、その要素に対してどの CSS スタイルが有効になるのでしょうか?次のコードを見てみましょう
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>特殊性</title> <style type="text/css"> p{color:red;} .first{ color:green; /*因?yàn)闄?quán)值高顯示為綠色*/ } span{ color:pink; /*設(shè)置為粉色*/ } </style> </head> <body> <h1>勇氣</h1> <p class="first">三年級(jí)時(shí),我還是一個(gè)<span>膽小如鼠</span>的小孩, 上課從來(lái)不敢回答老師提出的問(wèn)題,生怕回答錯(cuò)了老師會(huì)批評(píng)我。就一直沒有這個(gè)勇氣來(lái)回答老師提出的問(wèn)題。學(xué)校舉辦的活動(dòng)我也沒勇氣參加。</p> <p id="second">到了三年級(jí)下學(xué)期時(shí),我們班上了一節(jié)公開課,老師提出了一個(gè)很簡(jiǎn)單的問(wèn)題,班里很多同學(xué)都舉手了,甚至成績(jī)比我差很多的, 也舉手了,還說(shuō)著:"我來(lái),我來(lái)。"我環(huán)顧了四周,就我沒有舉手。</p> </body> </html>
最初に p と . の両方が p タグに一致し、その後、どの色になりますか?表示されましたか?緑色が正しい色ですが、なぜでしょうか?これは、ブラウザーが重みに基づいてどの CSS スタイルを使用するかを決定し、より高い重みを持つ CSS スタイルが使用されるためです。
重みのルールは次のとおりです:
ラベルの重みは 1、クラス セレクターの重みは 10、ID セレクターの重みは最大 100 です。たとえば、次のコード
p{color:red;} /*重みは 1*/
p scan{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*/
注: 特別な重みがもう 1 つあります。継承にも重みがありますが、それは非常に低いものもあります。そのため、一部のドキュメントでは、それが 0.1 であることを示唆しています。最小の重み
として理解できます。