26.前端css优先级以及继承

1.css优先级以及继承

css具有两大特性:继承性和层叠性

继承性

继承:给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承。

有一些属性是可以继承下来 : color 、 font-*、 text-*、line-* 。主要是文本级的标签元素。

但是像一些盒子元素属性,定位的元素(浮动,绝对定位,固定定位)不能继承。

层叠性

层叠性: 权重的标签覆盖掉了权重小的标签,说白了 ,就是被干掉了
权重: 谁的权重大,浏览器就会显示谁的属性

权重大小比较方法:

样式表中的特殊性描述了不同规则的相对权重,它的基本规则是:

1 内联样式表的权值最高               style=""------------1000;

2 统计选择符中的ID属性个数。       #id --------------100

3 统计选择符中的CLASS属性个数。 .class -------------10

4 统计选择符中的HTML标签名个数。 p ---------------1

按这些规则将数字符串逐位相加,就得到最终的权重,然后在比较取舍时按照从左到右的顺序逐位比较。

例1:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    /*1 0 0*/
        #box{
            color: green;
        }
        /*0 1 0*/
        .container{
            color: yellow;
        }
        /*0 0 1*/
        p{
            color: red;
        }
    </style>
</head>
<body>
    <p id="box" class="container">
        赵云是什么颜色
    </p>
</body>
</html>

例2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>

        /*2 0 1*/
        #box1 #box2 p{
            color: red;
        }
        /*2 1 1*/
        #box1 #box2 .wrap3 p{
            color: yellow;
        }
        /*0 3 4*/
        div.wrap1 div.wrap2 div.wrap3 p{
            color: green;
        }

        /*3 0 1*/
        #box1 #box2 #box3 p{
            color: pink;
        }

    </style>
</head>
<body>

    <div id=‘box1‘ class="wrap1">
        <div id="box2" class="wrap2">
            <div id="box3" class="wrap3">
                <p>再来猜猜我是什么颜色?</p>
            </div>
        </div>
    </div>
</body>
</html>

例3:权重相同处理

当权重一样的 后来者居中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #box2 .wrap3 p{
            color: yellow;
        }

        #box1 .wrap2 p{
            color: red;
        }

    </style>
</head>
<body>

    <!-- 当权重一样的 后来者居中 -->
    <div id=‘box1‘ class="wrap1">
        <div id="box2" class="wrap2">
            <div id="box3" class="wrap3">
                <p>再来猜猜我是什么颜色?</p>
            </div>
        </div>
    </div>
</body>
</html>

例4:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>

    /*继承的权重是0*/
        /*#box1 .wrap2{
            color: red;
        }
        #box2 .wrap3 p{
            color: yellow;
        }*/

        /*权重为0。就近原则 谁描述的近*/
        /*#box1 .wrap3{
            color: green;
        }
        #box1 .wrap2{
            color: red;
        }*/

        #box1 .wrap2 .wrap3{
             color: red !important;
        }
        .wrap1 #box2 .wrap3{
            color: green;
        }

    </style>
</head>
<body>

    <!-- 当权重一样的 后来者居中 -->
    <div id=‘box1‘ class="wrap1">
        <div id="box2" class="wrap2">
            <div id="box3" class="wrap3">
                <p style=‘‘>再来猜猜我是什么颜色?</p>
            </div>
        </div>
    </div>
</body>
</html>

技巧:

1.先看标签元素有没有被选中,如果选中了,就数数 (id,class,标签的数量) 谁的权重大 就显示谁的属性。权重一样大,后来者居上
2.如果没有被选中标签元素,权重为0。
如果属性都是被继承下来的 权重都是0 。权重都是0:"就近原则" : 谁描述的近,就显示谁的属性
3.继承来的,描述的一样近,数权重
4.继承来的,描述的一样近,权重一样,后来者居上

原文地址:https://www.cnblogs.com/LearningOnline/p/9085030.html

时间: 2024-10-10 06:46:10

26.前端css优先级以及继承的相关文章

WEB前端--CSS样式优先级

转载信息: 作者: XuGang   网名:钢钢 出处: http://xugang.cnblogs.com 声明: 本文版权归作者和博客园共有.转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址! 样式的优先级 多重样式(Multiple Styles):如果外部样式.内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况. 一般情况下,优先级如下: (外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)I

扯一扯前端css的整体架构设计:(2)base基础类的那些事儿

周一下午在实验室写了第一篇博文,有几个人捧场,那咱就得接着下去啊.然后我觉得现在写的内容更多的偏向于谈一下我对于前端css架构的理解和前端经验的一个小总结,所以就把标题里原来的[项目总结]给删掉了.但是这不是说以后文章就不提我手里这个半死不活的类电商网站了,还得接着提,要不然拿什么自黑呢~~ [回顾一下上一篇] 上一篇里我主要针对于我最近写的一个项目的前端结构,开始介绍了一些前端结构的一些知识或者说是经验吧. 为什么前端css也有架构,为什么要考虑css的架构,怎么实现css的简单架构,这些问题

css优先级计算规则

原文:css优先级计算规则 最近面试了一些求职者,我问css优先级计算规则是怎样的?答曰ID优先级>class>元素选择器,外联样式优先级低于内联样式,内联样式优先级低于行间样式,然后就没有然后了……,ID选择器的优先级确实>class选择器的优先级>元素选择器的优先级,但是外联样式优先级并不一定低于内联样式优先级.做为一个合格的前端工程师,让我们彻底搞清楚css优先级计算规则吧! 特殊性 css继承是从一个元素向其后代元素传递属性值所采用的机制.确定应当向一个元素应用哪些值时,浏

web第六天,CSS优先级与盒子模型

一,CSS继承 文字相关的样式可以被继承 例 : color   line-height   font-style   font-size   font-weight 布局相关的样式不能被继承 (默认行为) 通过设置inherit值,可以改变默认的继承方式. 二,CSS优先级 相同样式优先级 当设置相同样式时,后写的优先级较高,但不建议出现重复设置样式的情况. 内部样式与外部样式 内部样式与外部样式优先级相同,如果都设置了相同样式,后引入的优先级高. 单一样式优先级 style行间> id>

浅谈CSS优先级机制(一)

初次写随笔,如果有哪个地方不足还望大神指点改正,下面我来谈谈我对于CSS优先级的了解吧. CSS优先级,通俗的理解就是你给元素等一堆属性描述,然后最后到底是哪个描述作为最终显示的效果的规则或机制(个人理解).以下我将分为几个点来谈谈优先级的确定. 1.引入方式: CSS引入的方式,我目前只知道四种:内联式.内嵌式.导入式.链接式(当然网上的说法名称不一,理解就好). 各种引入方式的用法我在这里就不再多说了.以上我所按顺序罗列的四个方式是理论上的优先级顺序,也就是说,我使用内联式引入的css代码作

css 优先级 机制

多重样式(Multiple Styles):如果外部样式.内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况. 一般情况下,优先级如下: (外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style 有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式. 选择器的优先权--->权值 内联样式---1000: ID选择器----100:class选择器---10: 标签

css优先级

自适应布局 1.适应场景是:左右两列,一列设置浮动和设置宽度,另一列不需要设置浮动和宽度,只需设置overflow:hidden,就可以实现左右两列自适应.原理(BFC,清除浮动原理) 伪类与伪对象 在官方文档中伪类用classify来描述,而伪对象用create.从这里我们就能明白它们的区别: 伪对象则代表了某个元素的子对象,这个子对象虽然在逻辑上存在,但却并不实际存在于文档树中. 就像上文中的first-line,在DOM中其实并不存在.我们经常用的:before :after也属于伪对象.

css优先级汇总

我所理解的css优先级:当两个或者多个样式作用于同一个元素时,就会出现css优先级的问题. 多重样式优先级:当内联样式.内部样式和外部样式作用于同一个元素时,属于多重样式的范畴.优先级的顺序为内联样式>内部样式>外部样式. <head> <link href="style.css" rel="stylesheet" type="text/css" /> /*.color{color:red;}外部样式*/ &l

css优先级机制

所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序. 1.important >(内联样式)Inline style  >(内部样式)Internal style sheet >(外部样式)External style sheet (有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式.) 2.CSS选择器优先级:id选择器优先级 > 类class选择器优先级 > 标签选择器优先级 1.文内的样式优先级为1,0,0,0,所以始终高于外部定义.