首页 > 解决方案 > 根据 `clientWidth` 动态设置宽度

问题描述

iframe在 React 应用程序中渲染一个。IFrame 显示视频,我需要保持一定的纵横比width/height

我目前通过获取要在widthDiv其中显示 iframe 的 div 的宽度,将 iframe 的宽度设置为widthDiv并将高度设置为 来做到这一点widthDiv/aspectRatio

问题是,在我这样做之后,页面会完全呈现,并且滚动条(垂直滚动)出现在 div 的左侧。这会在 Firefox 中减少 div 宽度20px(其他浏览器中的数字不同)。现在我Iframe的太大了,溢出了。因此,我需要再次使用setTimeoutof检查宽度1000并将宽度重置为新值。它有效,但看起来不太好。

有一个更好的方法吗?clientWidth由于滚动条的出现,我可以以某种方式动态地对更改做出反应吗?

标签: javascripthtmlcssreactjs

解决方案


推荐阅读