JavaWeb学习之路(48)–CSS选择器优先级

1. 前言

在上一篇文章中,我们介绍了内联样式、内部样式表、外部样式表,这三种样式都会影响到网页上的元素。


那么如果三种方式同时作用于同一个元素,元素该按什么规则显示呢。


这就涉及到CSS选择器优先级问题,本篇就此进行介绍。


2. 就近原则

网页元素在应用样式代码时,遵循就近原则,也是就是,谁跟网页元素关系近,就用谁的规则。


所以,内联样式直接就在元素标签上,优先级最高;内部样式表就在本王爷内,优先级次之;外部样式表单独文件存储,优先级最低。


3. 实例验证

我们通过一个实例来验证下:


首先编写外部样式文件style.css,代码如下:


.out-style {

   color: red;

}


然后编写网页,并引用外部样式文件,且定义内部样式表:


<!DOCTYPE html>

<html>

<head>

   <meta charset="utf-8">

   <!-- 引用外部样式表 -->

   <link rel="stylesheet" type="text/css" href="style.css">

   <style>

       .in-style {

           color: green;

       }

   </style>

</head>

<body>

   <div class="out-style in-style">

       好好学习

   </div>

   <div class="out-style in-style" style="color:blue">

       天天向上

   </div>

</body>

</html>


对于“好好学习”部分,同时应用了外部样式表的out-style和内部样式表的in-style,因为内部样式表优先级高,所以会显示绿色字体。


对于“天天向上”部分,同时应用了外部样式表、内部样式表的样式,而且还编写了内联的样式,因为内联的优先级最高,所以会显示蓝色字体。


最终效果如下:



4. 小结

当我们引用别人编写的样式文件后,如果对效果不满意,可以利用优先级规则,编写我们自己想要的CSS代码。


如果我们自己编写的CSS代码优先级更高,就能覆盖引用样式文件的效果,从而实现我们自己的目标。


上一篇:PCA/FCA


下一篇:JavaWeb学习之路(44)–CSS之透明