美文网首页优美编程
<<CSS权威指南3>>=>css

<<CSS权威指南3>>=>css

作者: 小遁哥 | 来源:发表于2018-05-14 20:48 被阅读13次

    默认继承是衡量一个属性该不该被应用的参照之一,也是解决CSS困惑的重要因素

    默认继承值没有特殊性,可以被任意选择器覆盖!

    通常情况下,影响页面布局的属性不会被默认继承,如margin,padding,影响视觉效果的会默认继承,如color,line-height。

    1visibility: hidden

    考虑以下情况

    <div class="third" style="visibility: hidden;">
        <div class="third_child">1111</div>
    </div>
    

    为什么.third_child不可见?因为它继承了父元素的visibility属性。

    2 text-indent 还是 padding-left

    .tree{
            text-indent: 20px;
            height: 20px;
      }
    
    <div class="tree">
        <p>1</p>
        <div >
            <p>2</p>
            <div>
                <p>3</p>
            </div>
        </div>
    </div>
    

    当text-indent换成padding-left效果是一样的,但原理去差很多

    前者是因为后代元素都继承了.tree 的text-indent属性,子元素可以覆盖这个值来实现自己的行为。

    而后者是因为子元素的内容区缩小了,导致文本的起始点相左偏移了20像素,后代不能覆盖这个值,自己的padding-left属性只能以.tree的padding-left属性为基础发挥作用。

    3.line-height

    <div style="line-height: 40px;">
        <div style="display: inline-block;width: 100%;">123231</div>
        <div style="display: inline-block;width: 100%;">123231</div>
    </div>
    

    最外层的高度变为80px,是因为子元素都继承了line-height: 40px;这个属性。

    4 inherit 强制继承

    规定值从父元素继承,padding-left:inherit;
    <div style="padding-left: 20px;">
    <div style="padding-left: inherit;">123231</div>
    </div>

    相关文章

      网友评论

        本文标题:<<CSS权威指南3>>=>css

        本文链接:https://www.haomeiwen.com/subject/pjoqdftx.html