美文网首页优美编程
<<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