html - 我可以在 px 行高内包含我的 em 大小的字体吗?

标签 html css

我正在查看的 CSS 如下所示:

header .logo {
    text-align: center;
    line-height: 77px;
    font-size: 4em;
    font-weight: bold;
    font-family: "Segoe UI Web Light", "Segoe UI Light", "Segoe UI Web Regular", "Segoe UI", "Segoe UI Symbol", "Helvetica Neue", Arial;
}

如果我转向移动设备,有人能告诉我这是否会成为问题吗?我是否应该始终在 em 大小的行高内包含 em 大小的字体?

最佳答案

px 单位和em 单位非常不同。 px 单位表示一个像素,这是一个相对的概念,可能因显示设备而异(详细说明请参阅 CSS Values and Units Module Level 3),而 em 单位在使用时在 font-size 属性的值中,表示父元素的字体大小。该大小因上下文、应用的 CSS 规则等而异,最终由用户控制。所以它可以是任何东西。如果您假设 em 是特定的像素,那么在某些情况下该假设将不可避免地失败;如果你假设一个特定的大小,为什么不在整个过程中使用 px

所以你应该设置font-sizeline-height使用相同的单位或者使用具有固定的、定义明确的关系的单位。通常,您应该以 em 为单位进行设置,或者都以 px 为单位进行设置,以确保它们适合在一起。但是,如果您将字体大小设置为 em,则可以为 line-height 使用纯数字,例如 line-height: 1.2,因为除了继承问题,纯数字有效地将 em 作为隐含单位。

例如,要么

line-height: 77px;
font-size: 64px;

line-height: 1.2em;
font-size: 4em;

将保持一致。

关于html - 我可以在 px 行高内包含我的 em 大小的字体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19240990/

相关文章:

javascript - 使用 setAttribute() 设置 "data-icon"时 Iconify 图标不更新

html - 保护 DIV 不被选择

html - ng-bind-html 不适用于我的 $scope.variable

css - 使用 bootstrap 3 跨越整个进度条的输入范围

javascript - 在 CSS 中保持纵横比的同时将图像调整到容器大小?

javascript - 在 Javascript 网格库元素之后创建分节符

html - 编码 mailchimp 电子邮件内联样式无法正常工作

javascript - html 和 CSS 自动缩放

javascript - 如何让事件监听器在动态出现时响应独特的按钮以添加到其他地方

javascript - 尝试以正确的 Ember.js 方式做事......为什么这行不通?