为什么标签治疗EM不同于如何 呢?(Why does the <button> t

2019-10-20 09:51发布

我注意到,<按钮>标记似乎是从除字体大小以外缩放em单位。 <div>标记没有表现出这种相同的行为。 这是跨浏览器,Firefox和即最新版本。

他们都风格是这样的:

button, div {
    width: 3rem;
    height: 3em;
}

见这琴的一个例子。

如果我大小一个div和按钮都与3rem和3EM的高度的宽度,我希望他们是正方形,除非是影响他们中的一个,或祖先的字体大小样式。 唯一的字体大小是在<body>标记,但发生的事情是在div是正方形,但按钮具有比其宽度小的高度。

如果我检查镀铬按钮,它说,它继承了<body>标签的1EM字体大小,然而当我设置的字体大小显式地1EM(见小提琴)的问题得到解决。

任何人都可以向我解释这里发生了什么? 这感觉就像我失去了一些东西明显。

Answer 1:

看来你的HTML按钮没有继承字体大小<body> 我相信很多的表单元素的行为(在某些浏览器至少)这样一来,虽然我没有文档。

我有成功的加入:

button {
    font-size:inherit;
}

工作例



Answer 2:

这到底是怎么发生的是,浏览器应用,导致用于减少字体大小默认浏览器的样式表button元素。 这没有在说明书中描述,和减少的量可通过浏览器而有所不同。 你可以看到同样的事情发生对于input元件,如<input type="text">默认:字体大小是比周围文本较小(尽管这可能是很难看到,如果使用不同的字体的面孔,这是一个常见的默认值)。

在浏览器的开发者工具是不完美的。 例如,浏览器确实可维持font-size一个的button元件作为继承的,但是也示出了所计算的尺寸小。 的解释是,浏览器默认的样式表font: -webkit-small-controlbutton ,这是真正的问题在这里设置。 关于继承的信息是不正确简单。

当设置font-size: 1em (或者,等价地, font-size: 100%的上button元素,则覆盖默认设置。 这比设置有所好转font-size: inherit ,其中有略少广泛的浏览器支持。



文章来源: Why does the
标签: css font-size em