js怎么获取含有calc的width呢?

元素的css是width: calc(100% - 260px)offsetWidth clientWidth都获取不到真实宽度。
如果用window.getComputedStyle(XXX).width获取到的值还是calc(100% - 260px)
请问该怎么直接获取最终渲染的px尺寸,或者怎么计算该元素的px宽度最合适呢?

el.getBoundingClientRect()返回的所有值都是0
QQ截图20200611180136.png

阅读 5.2k
3 个回答

image.png

就是这么取,没问题的。

如果你那确实是 0,要么是你这个元素是隐藏的(比如 display: none),要么就是 DOM 还没挂载或渲染出来的时候你就取了。加个 setTimeout 看下。

el.getBoundingClientRect().width 这个接口

还没完成布局和渲染你就取尺寸了,加个 setTimeout 吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题