【发布时间】:2016-08-29 10:55:31
【问题描述】:
我正在尝试创建一个固定的纵横比框,它可以调整大小以不溢出其父级。
经典的padding-bottom trick 只能根据父级宽度定义高度,而可测试的here 允许元素随着宽度的增加而变得比父级更高。不好。
然而,使用 vh 和 vw,我们可以在父级是视口尺寸的限制下完成我们想要的。可测试here。
<style>
div {
max-width: 90vw;
max-height: 90vh;
height: 50.625vw; /* height defined in terms of parent width (90*9/16) */
width: 160vh; /* width defined in terms of parent height, which is missing from the padding-bottom trick (90*16/9) */
background: linear-gradient(to right, gray, black, gray);
}
</style>
<div></div>
有没有办法让 vh 和 vw 等价物引用父级而不是视口?或者对于解决其问题的填充底部技巧是否有一个补充技巧? css ratio 属性在哪里?
另外,images have some sort of intrinsic ratio,但我不确定如何利用这一点。
【问题讨论】:
-
我不明白为什么填充技巧对你来说不够好?它是一个固定纵横比的盒子。你是说你想要与视口相同的比例,但在父级内?
-
我希望盒子受到父母的高度和宽度的限制。在任一维度上,它都不应大于父级。