层叠

层叠机制
    当出现声明冲突(同一个样式,不同的值应用到同一个标签)浏览器自动触发层叠机制
 层叠过程
    一.比较优先级:与它的来源和重要性有关
    来源:1.作者样式表。2.浏览器默认样式表。3.用户样式表。3>1>2
    重要性:若属性值后跟上!important,则表示一条重要声明,否则,表示普通声明

    二.比较特殊性(特指值):每一个声明都有一个特殊性,高的保留低的淘汰
    一个声明的特殊性,取决于规则适用范围大小。
    规则适用范围越大,特殊性越低;范围越小,特殊性越高。
    行内样式>ID选择器>元素选择器>通配符选择器

    a:若声明是行内样式,则为1,否则为0。
    b:规则中ID选择器的个数。
    c:规则中类选择器,伪类选择器和属性选择器的个数
    d:规则中元素选择器,伪元素选择器的个数
            通配符选择器特殊性(特指值)为零
        当计算选择器(并集选择器)分组的时候,要分开计算
    三.比较源次序:最后出现的声明胜出,其他的全部淘汰.
        实际应用
            css.Reset代码前置(css.reset重置)
            a元素的伪类书写顺序
            Reset.css用于解决兼容性
  继承(样式)inherit:是指子元素会自动拥有父元素的某些css属性
    可被继承:color,font-size,font-weight,text-align;基本上文本类样式都可以继承
    不可被继承:background-color
    继承发生的场景:
    条件:1.该属性是可继承的属性. 2.该属性在样式表中没有声明

    强制继承:也叫显示继承,是指将css属性值设置为inherit
    这样做通常有两个原因:
    1.为了继承有些不可继承的属性
    2.为了继承已被声明过的属性
    书写:baakground-color.inherit

猜你喜欢

转载自www.cnblogs.com/wangqinbing/p/9221804.html