【问题标题】:what does this mean Inheritance Uses Computed Values这是什么意思继承使用计算值
【发布时间】:2013-08-22 11:06:58
【问题描述】:

我正在阅读this article 在“继承使用计算值”一章中,他们说:

这对于像字体大小这样使用的继承值很重要 长度。计算值是相对于其他某个值的值 网页上的值。

如果您在 BODY 元素上设置 1em 的字体大小,则整个页面 不会只有 1em 大小。这是因为元素喜欢 标题(H1-H6)和其他元素(一些浏览器计算表 属性不同)在 Web 浏览器中具有相对大小。在 如果没有其他字体大小信息,Web 浏览器将 始终使 H1 标题成为页面上最大的文本,然后是 H2 等等。当您将 BODY 元素设置为特定的字体大小时, 然后将其用作“平均”字体大小,以及标题 元素是从中计算出来的。

因此,如果您在浏览器中将文本大小设置为正常,则 1em 与 16px 大致相同。 如果您知道选择在浏览器中设置更大的文本大小,则文本会更大。

所以我想知道他们想用这篇文章说什么?

【问题讨论】:

    标签: html css


    【解决方案1】:

    这意味着,当您在元素上设置font-size 时,它的实际值与在父元素中设置的值相关。

    示例:DEMO

    <div id="test1">
        <h1>First header</h1>
    </div>
    <div id="test2">
        <h1>Second header</h1>
    </div>
    
    h1 { font-size: 1.5em; }
    
    #test1 { font-size: 1em; }
    #test2 { font-size: 2em; }
    

    h1 元素上的font-size: 1.5em 是相对于它的父元素计算的,第二个标题更大。

    【讨论】:

    • 我是这样理解的。如果我只是在第一个 div 之前添加一个 h1,它将具有 1.5em 的字体大小,大约是 24px 1em 通常是 16px。定义为 1em 的第一个 heder 将基于默认字体大小,即距父级 1.5em。所以这个第一个 heder 将是 1.5em 或大约 24px。定义为 2em 的第二个标头也基于父 1.5em,即默认字体大小或大约 24px,因此 2em 将类似于 48px。
    【解决方案2】:

    基本上都是相对的,所以假设你的 body 是 16px,除非你特别指定所有的东西都将根据这个值来计算其他标签。

    如果你使用 em,那么 1em 就是顶部元素的 16px。

    例子:

    <div class="monkeyAss">Hello
    <h1>monkeyAss2</h1></div>
    
    .monkeyAss {font-size: 0.5em;}
    .monkeyAss h1 {font-size: 1em}
    

    这里你的 monkeyAss 将是预期的 8px,对于 1em,但是由于 h1 在另一个父 div 中,它也将是 8px,从它的相对父级获取它的值。希望对您有所帮助。

    【讨论】:

    • 假设使用 1em 在大多数浏览器中是 16px,如果你有正常文本大小的浏览器。如果那么 monkeyAss 是 0.5em 你有 8px 因为 body 是 16px 和 16px *0.5 = 8px 进一步我们有文本 monkeyAss2 的内部 h1 也将是 8px 从父。这是正确的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2013-10-14
    • 2016-03-07
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多