首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使子元素相对于父元素的维度更小?

问如何使子元素相对于父元素的维度更小?
EN

Stack Overflow用户
提问于 2019-07-11 05:10:07
回答 1查看 113关注 0票数 0

当涉及到CSS单元时:

我知道vmin相对于视口较小尺寸的1%。

我知道%是相对于父元素的。

有没有办法将它们组合在一起,得到一个高度和宽度都相对于父对象较小尺寸的1%的子对象?

我正在寻找一个CSS唯一的解决方案,如果在所有可能的,但如果不可能,那么Javascript解决方案是很好的。

编辑:我基本上想要保持宽高比。我的具体案例如下:

父div大约占据了整个屏幕的80%。子div需要保持正方形(相同的高度和宽度),因为父div被放大和缩小。但我希望子对象在保持正方形纵横比的同时尽可能地大,因此它的高度和宽度需要是父对象较小尺寸的100%。

代码语言:javascript
复制
<div id = 'parent'>
    <div id = 'child'>
    </div>
</div>

有关可视表示,请参阅此图像:

​

​

EN

回答 1

Stack Overflow用户

发布于 2021-06-07 00:55:21

您可以使用类似以下内容:

代码语言:javascript
复制
const size_by_smaller_dim_of = (target_element, source_element, percents = 100) => { // target_el: child, source_el: parent
    let h = Math.min(source_element.getBoundingClientRect().width, source_element.getBoundingClientRect().height);
    target_element.style.width = (h * percents / 100) + 'px';
    target_element.style.height = (h * percents / 100) + 'px';
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56978686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档