在这个问题中:Why em instead of px?在最佳投票的答案中, em 定义为:
em不是绝对单位 - 它是一个相对于单位的单位 目前选择的字体大小。除非你已经覆盖了字体样式 用绝对单位(例如px或pt)设置字体大小 将受到用户浏览器或操作系统中字体选择的影响 他们已经制作了一个,所以将em作为一般使用是没有意义的 长度单位,除非你特别希望它按比例缩放 字体大小。
当您特别想要某物的大小时,请使用em 当前的字体大小。
在my website主页中,我有一个 h1 标记,其中font-size等于2.1 em在页面标题中(网站名称),它似乎小于 h2 标签,font-size等于1.9 em。以下屏幕截图显示了使用Google Chrome浏览器的情况:
我的问题是: em 定义中当前的字体大小是什么意思?换句话说,我怎么知道当前的字体大小?
答案 0 :(得分:4)
这意味着 em 基于最近的亲戚的font size
。因此,<h2>
的父级设置的字体大小必须大于<h1>
父级的字体大小。
因此,如果<h2>
的父级字体大小为 40px ,则<h1>
的父级字体大小为20px
{1}},1.9em
的{{1}} 大于40px
的 2.1em
Read more here to learn about how font-sizing works
如果您想在页面中保证字体的大小,则应考虑使用20px
设置px
属性。使用 px 将保证font-size是绝对的,而不是相对,这是使用 em 获取的东西。
答案 1 :(得分:1)
只是在这里添加“基线”注释,如果您在CSS中将站点的基本字体大小设置为100%,则相当于大约16px。您还需要记住,如果您使用“em”作为度量单位,它将级联。这意味着如果您在容器元素上设置字体大小,则其子项上设置的任何字体大小都将从该字体大小计算出来。
例如,假设您将站点基本字体大小设置为100%/ 16px。然后创建一个容器,其基本字体大小为.75em(大约12px,12px / 16px = .75)。然后在该容器中,您需要创建一个大约24px高的标题元素。要确定“em”值,您需要将其基于容器的字体大小,而不是基本站点字体大小。所以它不会是1.5em(24px / 16px,16px是网站的默认字体大小),而是2em(24px / 12px,12px是容器上设置的字体大小)。