【发布时间】:2021-09-20 07:12:24
【问题描述】:
我正在尝试向图像添加面部叠加层,我希望面部始终位于内部 div 中。
图像需要适合 16/9 比例的背景并始终适合外部容器,我在外部 div 的高度大于 16/9 比例的情况下工作,但是每当它低于 16/9 时砍掉头部的底部和顶部。
我需要这个才能与 IOS 一起使用,因此纵横比在 safari 上不起作用,因此我在 16/9 使用旧的 padding-top 技巧。
谁能帮帮我?
我想要的是这样的……
但我得到的是这个......
.outside {
position: relative;
width: 500px;
height: 200px;
background: red;
overflow: hidden;
}
.inside {
height: 0;
overflow: hidden;
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding-top: 56.25%;
background: blue;
}
.img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;
}
<h1>Works when height is bigger</h1>
<div class="outside" style="height:400px!important">
<div class="inside" style="padding-top: 56.25%;">
<img src="https://solvemoji-test.s3.eu-west-2.amazonaws.com/unnamed.jpg" class="img">
</div>
</div>
<h1>Does not work when height is smaller</h1>
<div class="outside">
<div class="inside" style="padding-top: 56.25%;">
<img src="https://solvemoji-test.s3.eu-west-2.amazonaws.com/unnamed.jpg" class="img">
</div>
</div>
【问题讨论】:
-
请您在sn-p系统中添加图像以使您的sn-p工作谢谢(可能使用代理不起作用)?)
-
我不太清楚你的意思,问题中有图片,你看不到吗?
-
我看不到任何东西 - 可能与代理有关?
-
啊,对不起,我现在看到了这个问题,我刚刚使用了一张来自谷歌的图片,我已经更新了,现在应该可以使用了。
-
您能否描述一下当纵横比不“适合”时您想要发生的事情 - 显然您希望头部完全适合,但您是否总是想要一些红色和/还是蓝色显示?和/或您是否希望两个示例中的白色宽度相同,但要缩小头部以完全适合第二个示例?
标签: html css aspect-ratio