选择器优先级别

作者: Kou_Guandong | 来源:发表于2016-04-07 08:57 被阅读91次

单纯的CSS文件

当我们创建一个CSS文档时,经常遇到样式定义冲突的情况,这时遵从以下规则。

  • 当一个HTML元素被定义多重CSS样式时,只有最后一个是可见的。如:
p {color: red}
p {color: blue}
/* 效果为蓝色 */
  • 当CSS样式定义在DOM元素的父级节点时,所有的子级元素都会继承该样式。
  • 同一元素存在不同的选择方式时,根据权重进行计算,权重越高越优先:
  • ID属性=100
  • class属性=10
  • HTML<>标签=1
  • 无论何种情况,使用 !important 标记,可以把选择器优先级提高到最前。
<body>
<p id="target" class="target">Hello World</p>
</body>

<style>
   p#target {color: black !important}
   p#target {color: red}
   p.target {color: blue}
   p {color: tomato}
   /* 最终效果为黑色 */
</style>

在HTML文件中使用CSS

有多种方法可以把CSS文件导入到HTML中,通常在HTML中出现位置的顺序为:

  1. 在<head>部分通过<link>导入外部样式
  2. 在<head>部分直接写入<style>
  3. 在CSS部分通过 @import 导入外部样式
  4. 直接定义在HTML标签中的style属性

然而,优先级的顺序确是:

  1. 直接定义在HTML标签中的style属性
  2. 在<head>部分直接写入的<style>
  3. 在CSS部分通过 @import 导入的外部样式
  4. 在<head>部分通过<link>导入的外部样式

在以下代码片段中四种导入CSS的方法都使用了,最终呈现出的效果,是级别最高的p标签中的style定义。除非,有 !important 在其他定义方式中出现。

<!DOCTYPE html>
<html>
   <head>
      /* Link in head */
      <link rel="stylesheet" href="css/style.css"/>
      /* Style tag in head */
      <style>
         p {color: tomato}
      </style>
      /* @import in CSS area */
      <style>
         @import url("css/style.css");
      </style>
   </head>
   <body>
      /* Style attribute in HTML element */
      <p style="color: red">Hello World</p>
   </body>
</html>

相关文章

  • css选择器的优先级

    css选择器遵循 在相同级别:叠加原则就近原则(覆盖) id选择器 > 类选择器 > 标签选择器 范围越小,优先级...

  • CSS - 选择器

    本文要点: 什么叫选择器?它的作用是什么? 选择器的种类 选择器优先级别 什么叫选择器 CSS 选择器用于设置选择...

  • 前端面试题集锦(css篇)

    请描述一下 CSS 选择器的优先级别顺序? !import > 内嵌 > id > class > tag > *...

  • CSS的选择器

    1.标签选择器、类选择器、id选择器、后代选择器 2.伪类 3.选择器的优先级别 4.html标签的类型 5.cs...

  • 知识点css和JavaScript

    CSS知识点 1 选择器的优先级 (1)最高优先级是 (直接在标签中的设置样式,假设级别为1000) (2)次优先...

  • day03

    今天学习了! 1.选择器 2.后代选择器 3.兄弟选择器 4.伪元素 5.属性选择器 6.选择器的优先级别 7.选...

  • 选择器优先级别

    单纯的CSS文件 当我们创建一个CSS文档时,经常遇到样式定义冲突的情况,这时遵从以下规则。 当一个HTML元素被...

  • 今日所学知识点

    选择器的优先级 1.权重内联样式 优先级1000id选择器 优先级100类选择器 优先级10元素选择器 优先级1通...

  • 2019-05-28 选择器优先级,a的伪类,文本标签,列表,单

    选择器的优先级 优先级的规则 内联样式,优先级1000 id选择器,优先级100 类和伪类,优先级10 元素选择器...

  • CSS样式学习2

    !important 声明最高 标签选择器优先级:id选择器优先级>class优先级>标签选择器 1.权值相同 同...

网友评论

    本文标题:选择器优先级别

    本文链接:https://www.haomeiwen.com/subject/ihvmlttx.html