06_CSS 特性

继承性 inherited

(1)子元素有默认继承父元素样式的特点

可继承的常见属性(文字属性都可以继承)

通过调试工具判断样式是否可继承

(2)继承失效的特殊情况

如果元素有浏览器默认样式,就不继承父元素属性

示例 :

<style>
    div {
        color: green;
        font-size: 16px;
    }
</style>

<div>
    <h1>将进酒</h1>
    <a href="#">李白 〔唐代〕</a>
    <p>君不见黄河之水天上来,奔流到海不复回。</p>
</div>

层叠性

同一个标签设置不同的样式

  • 样式层叠叠加,共同作用在标签上

同一个标签设置相同的样式

  • 样式会层叠覆盖,最终写在最后的样式生效

当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果

技巧: 编辑器多行输入

示例 :

<style>
    .color--red {
        color: red;
    }

    /* 绿色的定义位置在红色之后 */
    .color--green {
        color: green;
    }

    .font-size--20 {
        font-size: 20px;
    }
</style>

<div class="color--green color--red font-size--20">
    君不见黄河之水天上来,奔流到海不复回。
</div>

优先级

不同选择器具有不同的优先级,

优先级高的选择器样式会覆盖优先级低的选择器

(1)优先级公式(由低到高)

总结:选择范围越小,优先级越高

(2)复合选择器权重叠加

计算公式,每级之间不进位

需要注意:

chrome 调试: 元素右键 -> 检查元素

工具:PxCook PxCook - 高效易用的自动标注工具,生成前端代码,设计研发协作利器

示例 1:

<style>
    /* (行内,id, 类,标签) */
    /* (0, 2, 0, 0) */
    #father #son {
        color: blue;
    }

    /* (0, 1, 1, 1) */
    #father p.c2 {
        color: black;
    }

    /* (0, 0, 2, 2) */
    div.c1 p.c2 {
        color: red;
    }

    /* 继承 */
    #father {
        color: green !important;
    }

    /* 继承 */
    div#father.c1 {
        color: yellow;
    }
</style>

<div id="father"
     class="c1">
    <p id="son"
       class="c2">白日依山尽,黄河入海流。</p>
</div>

示例 2:

<style>
    /* (行内,id, 类,标签) */
    /* (0, 0, 0, 2) */
    div div {
        color: skyblue;
    }

    /* (0, 0, 0, 1) */
    div {
        color: red;
    }
</style>

<div>
    <div>
        <div>白日依山尽,黄河入海流。</div>
    </div>
</div>

示例 3:

<style>
    /* (行内,id, 类,标签) */
    /* (0, 0, 0, 7) */
    div div div div div div div {
        color: red;
    }

    /* (0, 0, 1, 0) */
    .one {
        color: green;
    }
</style>

<div>
    <div>
        <div>
            <div>
                <div>
                    <div>
                        <div class="one">白日依山尽,黄河入海流。</div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

示例 4:

<style>
    /* (行内,id, 类,标签) */
    /* (0, 0, 2, 1) */
    .c1 .c2 div {
        color: red;
    }

    /* (0, 1, 0, 1) */
    div #box3 {
        color: green;
    }

    /* (0, 1, 0, 1) */
    #box1 div {
        color: blue;
    }
</style>


<div id="box1"
     class="c1">
    <div id="box2"
         class="c2">
        <div id="box3"
             class="c3">白日依山尽,黄河入海流。</div>
    </div>
</div>

示例 5:

<style>
    /* (行内,id, 类,标签) */
    /* 都是继承,最近的父级生效 */
    /* 继承 */
    div p {
        color: red;
    }


    /* 继承 */
    .father {
        color: green;
    }
</style>


<div class="father">
    <p class="son">
        <span>白日依山尽,黄河入海流。</span>
    </p>
</div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值