样式的优先级


多重样式(Multiple Styles):如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。

一般情况下,优先级如下:

外部样式 <内部样式 <内联样式

有个例外的情况,就是如果**外部样式**放在**内部样式**的**后面**,则外部样式将覆盖内部样式。

示例如下:

1. <head>
2.     <style type="text/css">
3.       /* 内部样式 */
4.       h3{color:green;}
5.     </style>
6.
7.     <!-- 外部样式 style.css -->
8.     <link rel="stylesheet" type="text/css" href="style.css"/>
9.     <!-- 设置:h3{color:blue;} -->
10. </head>
11. <body>
12.     <h3>测试!</h3>
13. </body>

选择器的优先权


选择器的优先权

解释:

1.  内联样式表的权值最高 1000;

2.  ID 选择器的权值为 100

3.  Class 类选择器的权值为 10

4.  HTML 标签选择器的权值为 1

 

利用选择器的权值进行计算比较,示例如下:

1. <html>
2.   <head>
3.     <style type="text/css">
4.         #redP p {
5.              /* 权值 = 100+1=101 */
6.              color:#F00;  /* 红色 */
7.         }
8.
9.         #redP .red em {
10.              /* 权值 = 100+10+1=111 */
11.              color:#00F; /* 蓝色 */
12.
13.         }
14.
15.         #redP p span em {
16.              /* 权值 = 100+1+1+1=103 */
17.              color:#FF0;/*黄色*/
18.         }
19.     </style>
20.   </head>
21.   <body>
22.      <div id="redP">
23.         <p class="red">red
24.            <span><em>em red</em></span>
25.         </p>
26.         <p>red</p>
27.      </div>
28.   </body>
29. </html>

结果:<em> 标签内的数据显示为蓝色

CSS 优先级法则


A  选择器都有一个权值,权值越大越优先;

B  当权值相等时,后出现的样式表设置要优于先出现的样式表设置;

C  创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;

D  继承的CSS 样式不如后来指定的CSS 样式;

E  在同一组属性设置中标有“!important”规则的优先级最大。

 

IE浏览器是个特殊的家伙,不过现在用的人不多了吧!