等宽字符的像素宽度

TGH*_*TGH 19 javascript css fonts

我想知道,是否可以用等宽字体计算字符的像素宽度?我正在使用等宽字体,因为我需要每个字符在我的DIV中占据相同的宽度,但我不确定如何可靠地获得它的实际像素宽度.我需要修改宽度才能在JavaScript中进行计算.这是我的css:

font-family: monospace;
font-size: 15px; 
Run Code Online (Sandbox Code Playgroud)

这可能吗?

jay*_*agi 12

我能想到的最好的方法是创建一个position: absolute; top: -100px;带有单个字符的跨屏幕().然后,您可以测量跨度的宽度,以获得等宽字体中1个字符的宽度.但是,确保将padding其设置为0px跨度,因为它包含在宽度中.

编辑:如果您只需要一个近似值,该ex单位通常是有帮助的.1ex是小写字母'x'的高度.这通常与宽度大致相同.但这不确切.

  • 从技术上讲,`offsetWidth`属性可能是获取元素宽度的最佳镜头.`1ex`单元与字符的前进宽度没有定义关系; 例如,对于16px大小的Courier New,字符的前进宽度为10px,但"1ex"为7px. (5认同)