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*/
Note: 또 다른 특별한 가중치가 있습니다. - Inheritance에도 가중치가 있지만 매우 낮다고 일부 문헌에서는 0.1에 불과하다고 제안하므로 다음과 같이 이해할 수 있습니다. 상속의 가중치가 가장 낮습니다.
<!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>