首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么按钮上的em和px不同?

为什么按钮上的em和px不同?
EN

Stack Overflow用户
提问于 2013-01-10 23:52:45
回答 6查看 2.4K关注 0票数 1

我创建了一个带有按钮html标签的按钮。现在,我正在尝试设置em中的高度和宽度。我知道16px等于1em。这条规则适用于我到目前为止所见过的所有东西,除了按钮。如果我希望按钮的高度是45px,那么按钮的高度就是45px。如果我想把45px改成em,那就是2.8125em。它会短得多。用em使它接近45px,实际上大约是3.5em,在px中实际上是56px。为什么会这样呢?这是浏览器的问题吗?顺便说一下,我正在使用Safari。

EN

回答 6

Stack Overflow用户

发布于 2013-01-10 23:54:24

em等于所讨论元素的字体大小。如果你的按钮的字体大小不同于16px,那么em也会不同。

您所查看的所有元素都必须将其字体大小设置为16px。这并不奇怪,因为这是许多浏览器的默认设置。

票数 6
EN

Stack Overflow用户

发布于 2013-01-10 23:57:21

,我知道16px等于1em。

这是不对的。unil 1em并不对应于特定的像素值,它对应于元素当前字体的字符大小。

默认情况下,该按钮具有不同的字体。设置按钮的字体,它会得到你习惯的大小。

但是,如果希望大小为一定数量的像素,则应使用px单位而不是em。即使您指定了相同的字体系列和字体大小,em单位在浏览器和操作系统之间也可能略有不同。

票数 2
EN

Stack Overflow用户

发布于 2014-07-03 01:14:32

其他人谈到了对em单位如何与像素相关的误解,但潜在的问题还没有得到充分解决。

我今天发布了关于同样问题的帖子,这是showdev的answered here

本质上,按钮有一个“系统字体”应用于它,阻止它继承其父按钮的字体大小。据我所知,所有主流浏览器都会发生这种情况,这是“预期行为”。

要克服此问题,请在css中指定button标签(或仅特定按钮)应显式继承其字体大小:

代码语言:javascript
复制
button {
     font-size:inherit;
}

这将使它与您正在处理的其他元素一样对待em大小。当然,这也会改变文本的大小,这对你来说可能是问题,也可能不是问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14261836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档