【问题标题】:What is "the currently chosen font size" in em definition?em 定义中的“当前选择的字体大小”是什么?
【发布时间】:2013-04-18 03:02:50
【问题描述】:

在这个问题中:Why em instead of px? 在最佳投票的答案中,em 定义为:

em 不是一个绝对单位——它是一个相对于 当前选择的字体大小。除非你已经覆盖了字体样式 使用绝对单位(例如 px 或 pt)设置字体大小,这 将受到用户浏览器或操作系统中字体选择的影响,如果 他们已经做了一个,所以将 em 用作将军是没有意义的 长度单位,除非您特别希望它按比例缩放 字体大小缩放。

当您特别希望某事物的大小依赖时,请使用 em 当前字体大小。

my website 主页中,我有一个 h1 标记,页面标题(网站名称)中的字体大小等于 2.1 em,它似乎小于 h2 标签的字体大小等于 1.9 em。以下屏幕截图演示了使用 Google Chrome 浏览器的情况:

我的问题是: em 定义中考虑的当前字体大小是什么意思?换句话说,我怎么知道当前的字体大小?

【问题讨论】:

  • 引用的答案具有误导性,部分甚至是错误的。因此,标题中的问题被误导了。通常,要获得澄清的答案,请尝试改进现有问题的答案,而不是产生新问题。如果您有相关但不同的问题,请提出问题并提供描述性标题和您遇到问题的实际代码。
  • @JukkaK.Korpela 这只是每个人如何描述问题或尽可能清楚地说明问题的问题。我尊重你认为这是一种误导。我认为相关问题是为了避免对我的问题重复的任何想法。我还认为我的问题可能只用七个词来问“em css 单元中当前的字体大小是什么意思?”但是,在这种情况下,我可能会看到我的问题没有答案就结束了。使用上一个简短的问题将导致这个问题作为第一个建议-测试它-。

标签: html css font-size em


【解决方案1】:

这意味着 em 是基于最近的相对父级的font size。所以<h2>的parent设置的font-size必须大于<h1>的parent。

因此,例如,如果<h2> 的父级的字体大小为40px,而<h1> 的父级的字体大小为20px,则@ 40px 中的 987654328@ 将大于 20px 中的 2.1em

Read more here to learn about how font-sizing works

更新/注意事项

如果您想保证整个页面的字体大小,您应该考虑使用px 来设置font-size 属性。使用 px 将保证字体大小是绝对的,而不是使用 em 得到的 relative

【讨论】:

  • 我使用响应式布局,所以我更喜欢 em,以便在所有屏幕尺寸下都能很好地保持字体大小比例
  • @sємsєм 是的,某些布局绝对需要成比例的字体大小,我同意。
  • Px 绝对是你可以使用的最懒惰的单位。 Rem 会为 OP 提供他们正在寻找的东西。
  • @cimmanon 我明白,这只是对任何可能遇到答案的人的友好建议。
  • 这假设问题是关于font-size中的em,很可能是这样,但问题并没有这么说,它是only答案相对正确的上下文。 (当“最亲近的父母”被“父母”取代时是正确的。)关于使用px的建议根本没有解决这个问题,而且通常不利于可访问性。
【解决方案2】:

只是在这里添加一个“基线”注释,如果您在 CSS 中将网站的基本字体大小设置为 100%,这相当于大约 16 像素大小。您还需要记住,如果您使用“em”作为度量单位,它将级联。这意味着,如果您在容器元素上设置字体大小,则在其子元素上设置的任何字体大小都会根据该字体大小进行计算。

例如,假设您将网站基本字体大小设置为 100%/16px。然后创建一个容器,其基本字体大小为 0.75em(大约 12px,12px/16px = .75)。然后在该容器中创建一个高度约为 24 像素的标题元素。要确定“em”值,您需要基于容器的字体大小,而不是基础站点字体大小。所以它不会是 1.5em(24px/16px,16px 是网站默认字体大小),而是 2em(24px/12px,12px 是容器上设置的字体大小)。

【讨论】:

    猜你喜欢
    • 2012-05-15
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 2010-09-13
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多