javascript - 在反应中,如何缩放父组件,使其所有子组件按比例缩放
问题描述
<Parent style={{transform: "scale(2)"}}>
<Child_1 />
<Child_2 />
<Child_3 />
<Child_4 />
<Parent />
目标是让 Child_X 按比例缩放,它们之间的间距按比例缩放。
这怎么能轻松实现?
解决方案
如果它们是 div,您可以使用它们的宽度。
1.首先找到父元素的宽度:
document.getElementById("parentElement").offsetWidth
注意:这只是一个示例,因为您没有提供这些 div 的代码,因此您可能需要相应地进行一些更改。
在这里,我们找到了父元素的宽度。
2.求子元素的宽度:
document.getElementById("childElement").offsetWidth
在这里,我们找到了子元素的宽度。
3. 求比例:
let parentWidth = document.getElementById("parentElement").offsetWidth;
let childWidth = document.getElementById("childElement").offsetWidth;
let proportion = childWidth / parentWidth;
在这里,我们将子元素宽度除以父元素宽度,以便我们可以得到我们必须调整元素大小的比例。
4.使用scale()
属性:
let parentWidth = document.getElementById("parentElement").offsetWidth;
let childWidth = document.getElementById("childElement").offsetWidth;
let proportion = childWidth / parentWidth;
<Parent style={{transform: "scale(2)"}}>
<Child_1 style={{transform: {`scale(${2 * proportion})`}}}/>
<Child_2 style={{transform: {`scale(${2 * proportion})`}}}/>
<Child_3 style={{transform: {`scale(${2 * proportion})`}}}/>
<Child_4 style={{transform: {`scale(${2 * proportion})`}}}/>
<Parent />
到这里,通过使用比例变量来动态改变刻度的值,你可以轻松实现你想要的!
现在,有几个问题:
鉴于此代码在理论上有效,我不能说它对您有效,因为您没有在问题中提供任何代码。这很糟糕,请确保从现在开始提供代码。这只是为了您自己好,以便我们可以为您的问题写出更好的答案。
推荐阅读
- c++ - 分割核心转储在我的代码中以实现“哈夫曼编码”
- r - R:$ 不能用于原子向量(箱线图)
- authentication - 如何使用 Blazor 结合 Google 身份验证和 API 密钥身份验证?
- java - Geoserver ogcapi 插件 jar 库未加载
- javascript - uppy 如何将元字段从仪表板添加到 XHRUpload
- sql - 从字符串 SQL Netezza 中提取序列
- vim - 我可以映射像'nj'这样的键,在vim/nvim中将光标向下移动n行
- javascript - Google Data Studio 中计算参数的特殊过程
- .net - 在实体框架核心中配置多个 Dbcontext(Oracle 和 SQL)
- ios - 快速设置具有可变间隔的计时器