元素的css是width: calc(100% - 260px)
用offsetWidth
clientWidth
都获取不到真实宽度。
如果用window.getComputedStyle(XXX).width
获取到的值还是calc(100% - 260px)
请问该怎么直接获取最终渲染的px尺寸,或者怎么计算该元素的px宽度最合适呢?
el.getBoundingClientRect()
返回的所有值都是0
元素的css是width: calc(100% - 260px)
用offsetWidth
clientWidth
都获取不到真实宽度。
如果用window.getComputedStyle(XXX).width
获取到的值还是calc(100% - 260px)
请问该怎么直接获取最终渲染的px尺寸,或者怎么计算该元素的px宽度最合适呢?
el.getBoundingClientRect()
返回的所有值都是0
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
就是这么取,没问题的。
如果你那确实是 0,要么是你这个元素是隐藏的(比如
display: none
),要么就是 DOM 还没挂载或渲染出来的时候你就取了。加个setTimeout
看下。