我正在嘗試制作一個長寬比為1:1,但寬度/高度動態變化的容器。
底部有一個包含一些文本的div,然后上面有一個填充剩余高度的div。然后,這個頂部div包含一個長寬比為1:1的圖像,其高度應該等于頂部div的70%,并且應該垂直和水平居中。
問題是。top div匹配容器的高度,然后圖像超出所述容器的邊界。
/* CSS reset */
* {
margin: 0;
}
img,
picture,
video,
canvas,
svg {
max-width: 100%;
display: block;
}
img {
height: auto;
}
.app {
background-color: yellow;
width: 800px;
height: 400px;
margin: 100px;
}
.wrapper {
overflow: hidden;
display: flex;
flex-direction: column-reverse;
background-color: #222;
color: #fff;
aspect-ratio: 1/1;
width: 40%;
height: auto;
position: relative;
}
.top {
display: flex;
flex: 1 1 auto;
align-items: center;
justify-content: center;
position: relative;
}
.top img {
height: 70%;
width: auto;
}
.bottom {
background-color: #555;
display: flex;
flex-direction: column;
padding: 10px;
}
<div class="app">
<div class="wrapper">
<div class="bottom">
<h3>La Sportiva</h3>
<h4>Climbing Shoe</h4>
</div>
<div class="top">
<img alt="" src="https://s3.amazonaws.com/www-inside-design/uploads/2020/10/aspect-ratios-blogpost-1x1-1.png">
</div>
</div>
</div>