• CSS样式继承和样式权重


    样式的继承

    样式的继承:为一个元素设置的样式,同时也会应用到它的后代元素上去。

    继承是发生在祖先元素和后代元素上面

    继承的设计是为了方便开发,利用继承可以将一些通用的样式统一设置到共同的祖先元素上面,这样只需要设置一次就可以让所有的元素都有该样式。

    注意: 并不是所有的样式都会被继承,常见的有背景、布局相关的样式一般都不 会被继承。(例如 transparent、background、position相关内容)

    在为父元素设置背景颜色而其中子元素也会显示出相同的背景颜色,这并不意味着 background-color  样式可以被继承,而是因为 background-color 样式的默认值为 transparent 透明的,所以子元素才会显现出父元素的背景颜色。

    <div>
    我是div
        <span> 我是子元素span </span>
    </div>
    div{
            background-color:skyblue;
            }


    选择器的权重

    样式的冲突: 当我们通过不同的选择器,选中相同的元素并且对相同的样式设置不同的值,此时就发生了样式的冲突。

    选择器的优先级
    内联样式 1,0,0,0
    id选择器 0,1,0,0
    类和伪类选择器 0,0,1,0
    元素选择器 0,0,0,1
    通配选择器 0,0,0,0(任何选择器都可以覆盖其样式)
    继承的样式 没有优先级
    !important 最高的优先级,甚至超过内联样式
    div{
        background-color:blue !important;  //(这样会把样式的有限级设置到最高)
    }

    注意:
    1、优先级一定要慎用。
    2、同时存在 通配选择器 和 继承的样式 那么优先显示通配选择器所设置样式。
    3、如果优先级计算后相等,则优先使用靠下的样式,下面的样式会把上面样式覆盖
    4、比较优先级的时候,需要将所有的选择器的优先级相加计算,最后优先级越高,越优先显示(分组选择器是优先计算的)
    5、选择器的累加不会超过其最大的数量级,类选择器所累计的优先级越高,也不会超过id选择器(不会越级)

  • 相关阅读:
    原码, 反码, 补码 详解
    二进制与十进制间的转换方法(图文教程)
    题目要求:将a,b两个数的值进行交换,并且不使用任何的中间变量。
    【转】面向对象的7个基本设计原则
    【转】UML类图符号 6种关系说明以及举例
    关于try catch
    关于异常
    java File类中的mkdir()和mkdirs()有什么区别
    反射中getMethods 与 getDeclaredMethods 的区别
    【转】Java利用反射机制访问私有化构造器
  • 原文地址:https://www.cnblogs.com/nyw1983/p/12404955.html
Copyright © 2020-2023  润新知