我创建了一个带有按钮html标签的按钮。现在,我正在尝试设置em中的高度和宽度。我知道16px等于1em。这条规则适用于我到目前为止所见过的所有东西,除了按钮。如果我希望按钮的高度是45px,那么按钮的高度就是45px。如果我想把45px改成em,那就是2.8125em。它会短得多。用em使它接近45px,实际上大约是3.5em,在px中实际上是56px。为什么会这样呢?这是浏览器的问题吗?顺便说一下,我正在使用Safari。
发布于 2014-07-03 01:14:32
其他人谈到了对em单位如何与像素相关的误解,但潜在的问题还没有得到充分解决。
我今天发布了关于同样问题的帖子,这是showdev的answered here。
本质上,按钮有一个“系统字体”应用于它,阻止它继承其父按钮的字体大小。据我所知,所有主流浏览器都会发生这种情况,这是“预期行为”。
要克服此问题,请在css中指定button标签(或仅特定按钮)应显式继承其字体大小:
button {
font-size:inherit;
}这将使它与您正在处理的其他元素一样对待em大小。当然,这也会改变文本的大小,这对你来说可能是问题,也可能不是问题。
https://stackoverflow.com/questions/14261836
复制相似问题