css引入方式优先级以及不同选择器的优先级区别

我们都知道css有3种基本设置方式即

1、行内也叫嵌入式 例如:

<div style=‘background:red‘></div>

2、内联式,在html文件中用style标签包裹着的 例如:

<html>
  <style type=‘text/css‘>
     div{
        background:red;
     }
  </style>
</html>

3、链接式,在html文件中用link标签引用进来着的 例如:

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

注:还有一种@import写法不太常用兼容性也有问题忽略了

当我们同时使用这三种方式来对同一目标元素设置样式的时候优先级是 行内>内联>链接

一般情况下在同一种方式(文件)按照谁在后面谁的优先级最高,这个很多人都知道,

但是也有很多人忽视了不同的选择器也有优先级。

首先我们先来回忆下css的选择器类型吧

    #id名 { 属性名:属性值; }

    .class名 { 属性名:属性值; }

    标签名 { 属性名:属性值; }

    这是3中基本选择器还有他们相互结合的复合选择器

    我们写一个css样式文件引入到css.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>css优先级讨论</title>
    </head>
    <link rel="stylesheet" type="text/css" href="base.css"/>
    <body>
      
      <div id=‘red‘ class=‘blue‘ >颜色</div>
    </body>
    </html>

    base.css文件如下

    @charset "utf-8";
    /* CSS Document */
    #red{
      color:red;
    }
    .blue{
      color:blue;
    }
    div{
      color:black;
    }

    这3个样式设置都是针对一个元素且都在链接文件中应该按照顺序后面覆盖前面的才对但是浏览器运行的结果却是

    这就说明id选择器优先级最高 ,具体的选择器权重请看下图

    通过这个图片我们就可以计算哪种设置的优先级高了,同时我们也会意识到有可能链接的优先级会大于嵌入式哦!在实际中也会经常越到这种因问题导致的出错,现在来看一个实际的例子

    在这个页面中针对按钮 ”下一步“的color属性有3次设置,而且都是在base.css文件中,后面的颜色值没有覆盖前面的设置变成白色,因为第一个圈里的使用的是类+标签 权重为11  第二个使用类 权重是10 最后一个是标签权重为1  自然是第一个设置的生效 解决方法很简单在第二个选择器上改一下结果如下

    权重值相等后面覆盖了前面,就是这些了,不足错误之请指出。

    时间: 2024-12-30 03:44:11

    css引入方式优先级以及不同选择器的优先级区别的相关文章

    CSS引入方式,高级选择器

    css引入方式:  1.内部样式      style标记      在head标记中     应用范围:当前整个页面中应用  2.行内样式      style属性      <p  style="color:black; font-size:24px">行内样式</p>    应用范围:指定的标签内应用,优先级高于内部样式     不太推荐用这种方式  3.外部样式      声明:.css样式文件       引入:         链接方式:<li

    项目复习期总结3:CSS引入方式,注释,命名规范,背景,行高,文本属性

    目录: 1.CSS注释的书写 怎么写?好处? 2.CSS引入方式  各种的优缺点 3.选择器的写法与选择器的优先级 4.CSS命名规范 5.背景,行高 6.文本(text与font开头)等所有属性 ① CSS注释书写规范: 1.单行注释:    直接写在属性值的后面,如: ① .search{ border:1pxsolid#fff;/*定义搜索输入框边框*/ background:url(../images/icon.gif)no-report#333;/*定义搜索框的背景*/ } ② .wr

    项目复习期总结3:CSS引入方式,凝视,命名规范,背景,行高,文本属性

    文件夹: 1.CSS凝视的书写 怎么写?优点? 2.CSS引入方式  各种的优缺点 3.选择器的写法与选择器的优先级 4.CSS命名规范 5.背景,行高 6.文本(text与font开头)等全部属性 ① CSS凝视书写规范: 1.单行凝视:    直接写在属性值的后面.如: ① .search{ border:1pxsolid#fff;/*定义搜索输入框边框*/ background:url(../images/icon.gif)no-report#333;/*定义搜索框的背景*/ } ② .w

    CSS引入方式的区别详解

    在web前端开发中,CSS是一种用来表现HTML或XML等文件样式的语言.很多处于web前端初学阶段的朋友,很多人都不知道CSS引入方式存在三种方法,css引入方式分别为标签内联书写.页面头部书写.外部引入,那么这三者有何区别?本文给大家讲解了从不同的角度分析他们的优势与劣势. 1.外部引入: 在HTML的head部分<link rel="stylesheet" type="text/css" href="css文件路径">,引入外部

    css引入方式

    1.<style>          body{}    </style> 2.写在一个单独的文件里面保存即新建一个文件:xx.css; 注明该文件的位置<link rel="stylesheet" href="./Untitled-2.css"/> 3.直接在html标签里面写入对这个标签的css控制如:<div style="color:green;">css引入方式 </div>

    CSS 引入方式 选择器

    ---恢复内容开始--- CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 步骤: A.找到标签 B.操作标签 一 CSS四种引入方式 1.行内式 <p style="background-color: rebeccapurple">hello yuan</p> 2.嵌入式 <head> <meta charset="UTF-8">

    CSS 引入方式

    HTML 中引入 CSS 的方式 有 4 种方式可以在 HTML 中引入 CSS.其中有 2 种方式是在 HTML 文件中直接添加 CSS 代码,另外两种是引入 外部 CSS 文件.下面我们就来看看这些方式和它们的优缺点. 内联方式 内联方式指的是直接在 HTML 标签中的 style 属性中添加 CSS. 示例: <div style="background: red"></div> 这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个 <

    web(五)CSS引入方式,编写规范及调试

    CSS (Cascading Style Sheets)层叠样式表 ,是由万维网联盟(W3C)制定的标准 CSS的主要作用: 美化html元素的外观,例如设定背景颜色.字体等. 对网页元素进行布局.以及定位. 对html元素进行响应式布局. 实现动画效果以及2d.3d转换. 配合html.js完成网页特效. css的版本介绍 css1:发布于 1996年12月17 日,制定了css的基本显示样式标准,如选择器.字体.颜色.背景.布局等. css2:发布于 1999年1月11日.CSS2添加了对媒

    css知多少(6)——选择器的优先级(转)

    1. 引言 上一节<css知多少(5)--选择器>最后提到,选择器类型过多将导致一些问题,是什么问题呢?咱们直接举例子说明. 上图中,css中的两个选择器都是针对<span>的,而且两个设置的颜色不一样,这里的<span>到底听从谁的命令? 上面还是比较简单的,下面在来一个复杂的: 上图中的<li>该显示成什么颜色呢? 2. 特指度 要解决以上问题,我们需要引入一个概念--特指度(specificity).特指度表示一个css选择器表达式的重要程度,可以通过

    关于CSS引入方式的详细见解

    关于CSS的发展史这里不做介绍.写博客的原因之一是想帮助那些与我一样喜欢纠结的初入前端的伙伴,希望自己写的帖子能对伙伴有些许帮助:原因之二这些帖子也算自己的一个知识的整理.现在还没有一定的顺序可循,但从CSS开始,尽量写的有顺序可循. 1.CSS初始 概念:CSS称之为层叠样式表或级联样式表.样式定义如何显示HTML元素.样式通常存储在样式表中. 作用:CSS以HTML为基础,提供了丰富的功能,而且还可以针对不同的浏览器设置不同的样式.CSS主要用于设置HTML页面中的文本内容(字体.大小.对齐