我一直在寻找一种方法来获得元素的宽度,而不是圆角。想要这个的原因是我有几个元素浮动显示内联块,我试图自动调整其中的文本,以便他们用尽容器div的整个宽度。我是这样做的:
问题在于总是留下未使用的空间。我相信这是因为当我将字体大小增加少量(即0.01)以获得准确的大小时。元素的宽度不会改变,因为它是向下舍入的。我可以保持递增,它们不会改变,直到它决定向上舍入然后到总宽度超过限制。这是一个JSFiddle显示我在说什么:
javascript可能有点令人困惑,但基本上是为了节省时间,它以fontsize的大增量开始,然后当它达到目标大小时,它会使增量更小更准确。
我尝试过使用:
$(this).width()
parseFloat($(this).css("width"))
window.getComputedStyle
但它们似乎都不起作用。
答案 0 :(得分:1)
这对我有用:
$(this)[0].getBoundingClientRect().width
来自ssorallen:https://stackoverflow.com/a/18341704/299408
答案 1 :(得分:-1)
如果您想将浮点数转换为while数,您可以修剪小数,如下所示:$(this).width().toFixed(0)
或者你可以通过将不同的数字传递到toFixed
来将其修剪为不同的小数位数。