首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript:将ex转换为px

JavaScript:将ex转换为px
EN

Stack Overflow用户
提问于 2012-09-18 13:36:22
回答 2查看 2.8K关注 0票数 3

因此,我正在阅读elem.style.width,并得到类似于"3.1415926ex“的内容。

我想把它转换成“px”。

JavaScript有内置的函数来做这件事吗?我更喜欢砍掉字符串的最后两个字母,把它读成一个数字,然后乘以一个神奇的常量。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-18 13:44:58

没有“神奇常数”,因为不存在从expx的直接转换(例如,不同于将英寸转换为厘米)。

字体单位是当前字体中小写“x”字符的高度(其中“ex”是字体系列(例如Times New Roman)、大小(例如14px或72pt)和样式(常规、粗体、斜体)的组合)。

72pt Impact Bold中的...so "1ex“大于8pt Helvetica Regular中的"1ex”。

如果你知道这些细节,就可以完成从expx的转换。当然,听起来你真的只是想要“计算风格”,它总是以像素为单位。请阅读:How do I get a computed style?

票数 5
EN

Stack Overflow用户

发布于 2013-12-09 15:46:56

没有用于此目的的内置函数。给定一个可以使用变量elem在JavaScript中访问的元素,可以使用表达式elem.clientWidth以像素为单位获取其宽度,并将其四舍五入为整数。要使结果不四舍五入,精度因浏览器而异,原则上可以改用elem.getBoundingClientRect().width,尽管在许多浏览器中,它在实践中会产生四舍五入的结果或不准确的结果。-如果元素的水平填充为零,则适用。

如果您将一个元素的宽度设置为1ex,然后将上面的值应用于它,您将得到一个整数或实数,它告诉您ex的值(以像素为单位)。但它不是一个神奇的常量:它取决于字体系列和字体大小。

注意:一些旧的浏览器,如IE7,错误地将ex单位实现为em单位的一半,而不是正确地使用字体的x高度。

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

https://stackoverflow.com/questions/12470954

复制
相关文章

相似问题

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