zoukankan      html  css  js  c++  java
  • 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选择器(不会越级)

  • 相关阅读:
    如何使样式CSS不被覆盖 !important
    PHP5中数组函数总结篇
    优化php效率,提高php性能的一些方法
    windows2003 系统下不能识别移动硬盘解决方法
    Sql Server 2000索引问题?
    在网页中调用本地的应用程序
    Sql Server资料收集(摘自http://www.itpub.net)
    利用CSS控制打印
    C#.NET 中的类型转换
    卓越领导力素质训练心得
  • 原文地址:https://www.cnblogs.com/nyw1983/p/12404955.html
Copyright © 2011-2022 走看看