我在<a>
中有一个div
的HTML标记。
div样式使用'Lato'字体,字体粗细为700。
当我尝试获得a
标签宽度时,我在chrome中得到了错误的值。
我试过了:
width()
outerWidth()
innerWidth()
clientWidth
offsetWidth
他们都给了我错误的价值观。
我还注意到,当我删除font-weight CSS样式时,此问题消失了。
有任何想法吗?
谢谢
最佳答案
<a>
是一个内联元素。因此,它不使用盒子模型。认为它是“湿滑的”。我不确定为什么它可以使用不同的字体粗细。
您可能要测量<a>
的第一个块级父级的innerWidth。
就像是:
$('<a>').closest('div').innerWidth();
或者,您可以使用CSS将其设为一个块,然后您现有的js应该可以工作:
a { display: inline-block; }
关于javascript - jQuery innerWidth/externalWidth和javascript clientWidth/offsetWidth在chrome上给出错误的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32049752/