CSS 스타일 우선순위 소개:
같은 요소에 외부 스타일, 내부 스타일, 인라인 스타일을 동시에 적용할 경우 우선순위는 다음과 같습니다.
(외부 스타일) 외부 스타일 시트
예외가 있습니다. 즉, 외부 스타일이 내부 스타일 뒤에 배치되면 외부 스타일이 내부 스타일보다 우선 적용됩니다.
예는 다음과 같습니다.
<head> <style type="text/css"> /* 内部样式 */ h3{color:green;} </style> <!-- 外部样式 style.css --> <link rel="stylesheet" type="text/css" href="style.css"/> <!-- 设置:h3{color:blue;} --> </head> <body> <h3>测试!</h3> </body>
선택기 우선순위
설명:
1 인라인 스타일 시트의 무게는 최대 1000입니다.
2.
3. 클래스 클래스 선택기의 가중치는 104입니다. HTML 태그 선택기의 가중치는 1선택기의 가중치를 사용하여 계산하고 비교합니다.<html> <head> <style type="text/css"> #redP p { /* 权值 = 100+1=101 */ color:#F00; /* 红色 */ } #redP .red em { /* 权值 = 100+10+1=111 */ color:#00F; /* 蓝色 */ } #redP p span em { /* 权值 = 100+1+1+1=103 */ color:#FF0;/*黄色*/ } </style> </head> <body> <div id="redP"> <p class="red">red <span><em>em red</em></span> </p> <p>red</p> </div> </body> </html>
C 작성자의 규칙은 뷰어의 규칙보다 높습니다. 즉, 웹 페이지 작성자가 설정한 CSS 스타일이 브라우저에서 설정한 스타일보다 우선순위가 높습니다. D 상속된 CSS 스타일은 다음과 같습니다. 나중에 지정된 CSS 스타일이 좋습니다. E 그룹 속성 설정에서 "!important"로 표시된 동일한 규칙은 다음과 같습니다. 예는 다음과 같습니다. (학습 동영상 공유:
css 동영상 튜토리얼)
<html> <head> <style type="text/css"> #redP p{ /*两个color属性在同一组*/ color:#00f !important; /* 优先级最大 */ color:#f00; } </style> </head> <body> <div id="redP"> <p>color</p> <p>color</p> </div> </body> </html>
<html> <head> <title> demo </title> <meta name="Author" content="xugang" /> <!-- 添加外部CSS 样式 --> <link rel="stylesheet" href="styles.css" type="text/css" /> <!-- 在外部的styles.css文件中,代码如下: h3 {color:blue;} --> <!-- 使用javascript 创建内部CSS 样式 --> <script type="text/javascript"> <!-- (function(){ var agent = window.navigator.userAgent.toLowerCase(); var is_op = (agent.indexOf("opera") != -1); var is_ie = (agent.indexOf("msie") != -1) && document.all && !is_op; var is_ch = (agent.indexOf("chrome") != -1); var cssStr="h3 {color:green;}"; var s=document.createElement("style"); var head=document.getElementsByTagName("head").item(0); var link=document.getElementsByTagName("link"); link=link.item(0); if(is_ie) { if(link) head.insertBefore(s,link); else head.appendChild(s); document.styleSheets.item(document.styleSheets.length-1).cssText=cssStr; } else if(is_ch) { var t=document.createTextNode(); t.nodeValue=cssStr; s.appendChild(t); head.insertBefore(s,link); } else { s.innerHTML=cssStr; head.insertBefore(s,link); } })(); //--> </script> </head> <body> <h3>在IE中我是绿色,非IE浏览器下我是蓝色!</h3> </body> </html>
var s=document.createElement("style"); var head=document.getElementsByTagName("head").item(0); var link=document.getElementsByTagName("link").item(0); head.insertBefore(s,link); /* 注意:在IE 中, 虽然代码是将<style>插入在<link>之前, 但实际内存中,<style>却在<link>之后。 这也是“IE中奇怪的应用CSS的BUG”之所在! */ var oStyleSheet = document.styleSheets[0]; //这实际是在<link>的外部样式中追加 oStyleSheet.addRule("h3","color:green;"); alert(oStyleSheet.rules[0].style.cssText); alert(document.styleSheets[0].rules[0].style.cssText); //方式2 var cssStr="h3 {color:green;}"; document.styleSheets.item(document.styleSheets.length-1).cssText=cssStr;
CSS 튜토리얼
위 내용은 CSS 스타일 우선순위 규칙의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!