【发布时间】:2018-10-21 06:16:38
【问题描述】:
我有一个保持纵横比的div 元素:它根据其宽度计算其高度(使用填充技巧)。我想做的是把这个div 放到另一个中,通过垂直和水平的最大可用空间,没有裁剪。我认为最接近我想要的是object-fit: contain - 仅限img。
我希望 div 在保持纵横比的同时尽可能覆盖最大高度和宽度。没有垂直或水平裁剪。
是否甚至可以仅使用 CSS?如果有,怎么做?
更新: 一个很好的article,目前的情况。
代码(可以是任何其他解决方案,不必在此 sn-p 上构建):
html,
body {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
}
.container {
position: relative;
width: 100%;
}
.container:before {
content: "";
display: block;
width: 50%;
padding-top: 50%;
}
.embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: red;
}
<div class="container">
<div class="embed">
this should accommodate all the available space and maintain aspect ratio, no crop when width is too wide
</div>
</div>
【问题讨论】:
-
你试过
width:100%;吗? -
请添加您的代码!
-
@Adam - 添加代码
-
你想让 div 覆盖屏幕的
100%? -
我想拉伸到一侧达到最大值。
标签: html css css-position aspect-ratio