具有最大高度的CSS纵横比
问题描述:
我有一个部分,我想要使用纵横比进行缩放,但也将其保持在最大和最小高度。不知何故,最大高度属性不适用于此,同时最小宽度工作得很好。具有最大高度的CSS纵横比
div {
background: green;
border-bottom: 2px solid red;
padding-top: 60%;
max-height: 100vh;
min-height: 450px;
box-sizing: border-box;
}
<div></div>
我想要实现,即显示有一个固定的宽高比的内容,它按比例缩小,直到达到最小高度,但也不会超过视高度时,显示在更宽的浏览器中。为了说明见附件图片:
任何想法?
答
设置height: 100vh
就足够了 - 如果我正确理解你的问题。无论元素在DOM树中的位置如何,100vh
等于浏览器窗口的高度。该规则可以与min-height
结合使用。
div {
height: 100vh;
min-height: 300px;
padding-top: 60%;
background-color: green;
box-sizing: border-box;
}
答
好吧,如果我理解正确的话,你需要做的有挂宽度框的高度以百分比(我会通过设置高度视口宽度单位,而不是视做高度 - 在我的例子中,我已将其设置为75%)。这样,盒子就不会受到最大高度或最小高度的约束。
html,
body {
width: 100%;
height: 100%;
padding: 0px;
margin: 0px;
background-color: #00ff00;
}
.box {
width: 100%;
height: 75vw;
max-height: 100vh;
min-height: 400px;
background-color: #ff0000;
}
+0
因此,对于你5:3的比例,你将3除以5再乘以100得到百分比...... 60%,所以它会变成高度:60vw;注意我在高度上使用vw而不是vh。 –
您需要首先AAD的高度看到的东西 –
发生了什么你的内容是不可见的? –