我找到了一个从隐藏元素到getBoundingClientRect
的方法:将其display
样式设置为initial
,以便浏览器可以正确计算。然后立即隐藏元素,以便它永远不会显示给用户。如何从一个隐藏的元素getBoundingClientRect? (在IE上不起作用)
但它不适用于IE。它总是返回0
。
我如何使这项工作在IE浏览器上?
var element = document.querySelector('#foo');
console.log('Element is hidden', element.getBoundingClientRect());
element.style.display = 'initial';
console.log('Element shows for little time', element.getBoundingClientRect());
element.style.display = 'none';
<div id="foo" style="display: none;">Guess my size, I'm hidden !</div>
我使用'element.style.display ='block'来使它工作;'' – Elfayer