我正在try 创建一个空的div,它使用flex: 1
或flex-grow: 1
扩展到它的可用空间,但使用aspect-ratio: 16/9
保持长宽比
我试过很多例子,包括最初的padding-top: 56.25%
个黑客.但不能让任何东西正常工作.
以下是我目前掌握的情况:
.parent {
display: flex;
column-gap: 30px;
row-gap: 30px;
}
.container {
display: flex;
background:pink;
flex-direction: column;
height: 300px;
width: 500px;
align-items: center;
justify-content: space-between;
}
#container-2 {
height: 500px;
width: 300px;
background: green;
}
.item {
position: relative;
flex: 1;
background: black;
aspect-ratio: 16/9;
opacity: 0.5;
/* max-width: 100%; */ /* doesn't fix with ratio */
}
<div class="parent">
<div class="container">
<p>Example 1</p>
<div class="item"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quia incidunt dolorem quam! Tenetur facere, facilis modi ipsa sapiente repellendus dolores doloremque quae. Laborum sapiente voluptatum unde fugit tenetur laudantium animi.</p>
</div>
<div class="container" id="container-2">
<p>Example 2</p>
<div class="item"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quia incidunt dolorem quam! Tenetur facere, facilis modi ipsa sapiente repellendus dolores doloremque quae. Laborum sapiente voluptatum unde fugit tenetur laudantium animi.</p>
</div>
</div>
您将看到示例1可以正常工作,但是示例2 .item
会溢出宽度,以try 获得与高度的纵横比.我试了max-width: 100%
,它阻止了溢出,但项目不是16:9.
请注意,情况并非如此.