元素的css是width: calc(100% - 260px)用offsetWidth clientWidth都获取不到真实宽度。如果用window.getComputedStyle(XXX).width获取到的值还是calc(100% - 260px)请问该怎么直接获取最终渲染的px尺寸,或者怎么计算该元素的px宽度最合适呢?
width: calc(100% - 260px)
offsetWidth
clientWidth
window.getComputedStyle(XXX).width
el.getBoundingClientRect()返回的所有值都是0
el.getBoundingClientRect()
就是这么取,没问题的。
如果你那确实是 0,要么是你这个元素是隐藏的(比如 display: none),要么就是 DOM 还没挂载或渲染出来的时候你就取了。加个 setTimeout 看下。
display: none
setTimeout
2.1m questions
2.1m answers
57 comments
56.2k users