如何使用CSS将div调整为其容器中最大的正方形?如果CSS无法实现,如何使用JavaScript实现?
如果容器的高度大于宽度,则希望正方形的大小为“宽度x宽度”。如果容器的宽度大于高度,则希望正方形的大小为“高度x高度”。
当容器的尺寸发生变化时,子元素的尺寸应相应调整。
我发现这个答案对于保持子元素的纵横比很有帮助。当容器的宽度大于高度时,此方法不起作用,因为子元素会溢出父元素,如下面的代码片段所示。
如果容器的高度大于宽度,则希望正方形的大小为“宽度x宽度”。如果容器的宽度大于高度,则希望正方形的大小为“高度x高度”。
当容器的尺寸发生变化时,子元素的尺寸应相应调整。
我发现这个答案对于保持子元素的纵横比很有帮助。当容器的宽度大于高度时,此方法不起作用,因为子元素会溢出父元素,如下面的代码片段所示。
.flex {
display: flex;
}
.wide,
.tall {
flex: none;
border: 3px solid red;
}
.wide {
width: 150px;
height: 100px;
}
.tall {
width: 100px;
height: 150px;
}
div.stretchy-wrapper {
width: 100%;
padding-bottom: 100%;
position: relative;
background: blue;
}
div.stretchy-wrapper>div {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
color: white;
font-size: 24px;
text-align: center;
}
<div class="flex">
<div class="wide">
<div class="stretchy-wrapper">
<div>Wide container</div>
</div>
</div>
<div class="tall">
<div class="stretchy-wrapper">
<div>Tall container</div>
</div>
</div>
</div>
vmin
https://jsfiddle.net/mkfLjmgz/,但不确定你的实际情况是什么。 - Stickers