我在这里阅读一个问题,试图得到一个文本的字体大小。他们给出的答案是用一个度量方法得到像素大小。我想做的就是得到字体大小值,这样我就可以改变它。
例如:
var x = document.getElementById("foo").style.fontSize;
document.getElementById("foo").style.fontSize = x + 1;
虽然这两个示例可以工作,但此示例不工作
document.getElementById("foo").style.fontSize = "larger";
document.getElementById("foo").style.fontSize = "smaller";
唯一的问题是它只改变了一次大小。
9条答案
按热度按时间kmb7vmvb1#
仅仅获取元素的
style.fontSize
可能不起作用。如果font-size
是由样式表定义的,这将报告""
(空字符串)。您应该使用window.getComputedStyle。
hgncfbus2#
如果你的元素没有字体大小属性,你的代码将返回空字符串。你的元素没有必要有字体大小属性。元素可以从父元素继承属性。
在这种情况下,你需要找到计算的字体大小。尝试这个(不确定IE)
变量computedFontSize将返回带有单位的字体大小。单位可以是px、em、%。您需要去掉单位来执行算术运算并分配新值。
31moq8wy3#
如果您使用的是Jquery,那么下面是解决方案。
希望这能管用。
qyzbxkaa4#
∮让它适用于每一个案例∮
有时候(例如使用媒体查询时)上述答案不起作用,下面是如何实现它的方法:
oo7oh9g95#
从fontSize得到的值类似于“12px”或“1.5em”,因此在该字符串中添加1将得到“12px1”或“1.5em1”。您可以使用字体大小并使用以下命令操作它:
b09cbbtk6#
1.如果html元素有内联样式,则可以使用
.style.fontSize
来获取font-size!1.当html元素没有inline style时,你必须使用
Window.getComputedStyle()
函数来获得font-size!这里是我的演示代码!
参考链接:
https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle
uurv41yg7#
简单而有用!根据需要替换 el。
更新日期:
使用开发者的工具,如在 chrome 。这是更好的。请参阅图片附件。
ux6nzvsh8#
试试这个,它肯定会帮助你确定字体大小
我们可以进一步使用getter和setter来确定fontsize是否在以后被任何代码段更改
evrscar29#
下面是获取顶级
font-size
(与html
标记关联)的方法:检查它是否是默认的16px是很有用的。