font-size的属性继承

font-size属性不被直接继承:只有计算值(em或百分比时)被继承,而不是整个声明被继承。
特点:

  • 仅被传递到子元素
  • 单位em或百分比时被继承
    字体大小计算时有很奇怪的边缘效果。例如:我们对一个<div>元素使用80%的相对字体大小,其他嵌套在<div>元素中的元素同时也会继承该大小这意味着其他元素的字体大小将是80%乘以80%,即64%。

示例:

  • 代码:
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        .divRoot {
            font-size: 40px;
        }

        .divChild {
            font-size: 50%;
        }

        .divGrandson {
            font-size: 50%;
        }

        .div20px {
            font-size: 20px;
        }

        .div05em {
            font-size: 0.5em;;
        }
    </style>
</head>
<body>
<div class="divRoot">
    divRoot 40px
    <div class="divChild">
        divChild : 40px*50% = 20px
        <div class="divGrandson">divGrandson : 40px * 50% * %50% = 10px</div>
        <div class="div05em">div05em: 0.5em = 40px * 50% * 0.5 = 10px</div>
        <div class="div20px">div20px : 20px</div>
    </div>
    <p>divRoot</p>
</div>
</body>
</html>
  • 示例结果:


解决方案:

  1. 只在一个级别上使用相对字体大小;
  2. 使用px作为单位来指定该元素的特定实例,即不使用全局的元素选择器,而是使用元素选择器和ID选择器的组合;
  3. 使用rem替代em作为字体单位;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,816评论 1 92
  • 请各位读者添加一下作者的微信公众号,以后有新的文章,将在微信公众号直接推送给各位,非常感谢。 如果您觉得这篇文章还...
    MR_LIXP阅读 2,879评论 1 9
  • 作者:HelKyle链接:http://www.w3cplus.com/css/when-to-use-em-vs...
    红叶丶秋鸣阅读 3,309评论 0 3
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 2,060评论 1 4
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,235评论 0 40