一尘不染

如何获取HTML中的字体大小

javascript

我在这里阅读一个问题,试图获取文本的字体大小。他们给出的答案是使用测量方法获得像素大小。我想要做的就是获取字体大小值,以便我可以更改它。

例如:

var x = document.getElementById("foo").style.fontSize;
document.getElementById("foo").style.fontSize = x + 1;

尽管这两个都可以,但此示例不起作用

  1. document.getElementById("foo").style.fontSize = "larger";
  2. document.getElementById("foo").style.fontSize = "smaller";

唯一的问题是它仅更改一次大小。


阅读 881

收藏
2020-05-01

共1个答案

一尘不染

仅抓住style.fontSize一个元素可能不起作用。如果font-size由样式表定义,则将报告""(空字符串)。

您应该使用window.getComputedStyle

var el = document.getElementById('foo');
var style = window.getComputedStyle(el, null).getPropertyValue('font-size');
var fontSize = parseFloat(style); 
// now you have a proper float for the font size (yes, it can be a float, not just an integer)
el.style.fontSize = (fontSize + 1) + 'px';
2020-05-01