【发布时间】:2015-03-17 09:32:07
【问题描述】:
我有一个特定的 HTML 元素:一个带有一些 CSS 的文本区域
<textarea id="mytextarea"
class="absoluteelement inputtable paddable"
style="resize:none;top:70.68187%;left:4.705374%;width:90%;height:11.5%;Background-color:transparent;">
</textarea>
还有css:
#mytextarea {
font-size: 10.0px;
font-color: #FF000000;
font-family: arial;
text-align: left;
}
input,select,textarea {
border: none;
background: transparent;
}
.paddable {
padding-left: 5px;
padding-right: 5px;
box-sizing: border-box;
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /*FF, IE8*/
}
textarea {
resize: none;
overflow:hidden;
}
.absoluteelement {
position: absolute;
}
现在我的问题是这个。当我尝试
var textarea = document.getElementById("mytextarea");
var style = window.getComputedStyle(textarea);
console.log(style.fontSize);
控制台记录9.85012722015381px。然而,当我使用 Chrome 的开发人员面板(样式选项卡)检查 textarea 时,它会显示
#mytextarea {
font-size: 10.0px;
font-color: #FF000000;
font-family: arial;
text-align: left;
}
在计算面板中,它会像控制台输出一样显示:
> font-size: 9.85012722015381px;
为什么这两个值之间存在差异?我明确指出字体大小是 10.0px,在我的 css 中的任何地方都找不到数字 9.85...px。
更新:
这似乎只发生在 Chrome 中; Firefox 显示并记录计算出的字体大小为 10.0px
更新 2:
在 Chrome 上放大或缩小时,fontSize 似乎发生了变化。
【问题讨论】:
-
是所有代码,我在 jsbin 上的 firefox 中遇到错误。如果字体大小是 10px 而不是 10.0px,它会改变吗?
-
不可复制。问题中的确切代码在组合成 HTML 文档时会导致 Chrome 39.0.2171.99(Win 7)上的控制台消息“10px”。
-
@JukkaK.Korpela 我刚刚看到放大和缩小时字体大小发生了变化。确实发生在 Chrome 中,而不是 FF
-
是的,对于某些缩放系数,
fontSize值似乎与 10px 有所不同。这可能只是在浏览器中实现缩放的一个特性。