我一直在寻找一种方法来获取不圆角的元素的宽度。想要这个的原因是我有几个元素浮动到左边显示内联块,我试图自动调整它们中的文本,以便它们用完容器 div 的整个宽度。我这样做是这样的:
- 选择一个小的文本大小,例如 1
- 制作所有大小的文本
- 将所有浮动元素的宽度相加
- 如果它小于容器的宽度,则将字体大小增加一个小值
- 重复 2-4 直到达到最大尺寸
问题是总是有剩余的空间没有被使用。我相信这是因为当我将字体大小增加少量(即 0.01)以获得准确的大小时。元素的宽度不会改变,因为它是向下舍入的。我可以继续增加,直到它决定四舍五入然后总宽度超过限制时它们才会改变。这是一个显示我在说什么的 JSFiddle:
javascript 可能有点混乱,但基本上是为了节省时间,它从字体大小的大增量开始,然后当它达到目标大小时,它会使增量更小以更准确。
我试过使用:
$(this).width()
parseFloat($(this).css("width"))
window.getComputedStyle
但它们似乎都不起作用。