Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
364 views
in Technique[技术] by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

image.png

就是这么取,没问题的。

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...