javascript - 延迟加载高大的图像被拉伸或裁剪
问题描述
图像被垂直拉伸,有时被垂直裁剪。
如果我尝试不设置图像的高度,.ratio__content
则会与其他图像重叠
(实现伸展或裁剪的高度实际上很高)
body {
max-width: 960px;
margin: auto;
}
img {
max-width: 100%;
}
.ratio {
margin-bottom: 10px;
position: relative;
display: block;
}
.ratio:before {
content: '';
display: block;
width: 100%;
padding-bottom: calc((9/16) * 100%);
}
.ratio__content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%
}
<div class="ratio"><img class="ratio__content lazyload" data-src="https://binazizcorp.com/download.jpg"></div>
<div class="ratio"><img class="ratio__content lazyload" data-src="https://binazizcorp.com/1606279905.jpg"></div>
<div class="ratio"><img class="ratio__content lazyload" data-src="https://binazizcorp.com/1606279905.jpg"></div>
<div class="ratio"><img class="ratio__content lazyload" data-src="https://binazizcorp.com/1606279905.jpg"></div>
<div class="ratio"><img class="ratio__content lazyload" data-src="https://binazizcorp.com/1606279905.jpg"></div>
<div class="ratio"><img class="ratio__content lazyload" data-src="https://picsum.photos/1600/900?image=9"></div>
<div class="ratio"><img class="ratio__content lazyload" data-src="https://picsum.photos/1600/900?image=10"></div>
<script src="https://unpkg.com/lazysizes@4.0.1/lazysizes.js"></script>
我该如何解决这个问题?
解决方案
推荐阅读
- java - FirebaseException API 无法连接错误
- python - 在另一个文本框多行中打印文本框的内容时出现问题
- javascript - app.use(express.json) 在返回空对象的请求后不起作用
- ios - 使用自定义 UIToolbar XIB Swift 更改 UIViewController 背景颜色
- excel - 如何在 vba 中使用评估过滤器函数获得多个输出
- c# - c#如何在viewbag中添加一个选择列表项
- amazon-web-services - AWS EC2 IPv4 公共地址无法访问
- vb.net - 如何通过 RS-232C 串口发送字节?
- coq - 如何在 Coq 中转换两个术语之间的关系
- python - 如何调整 Python 机器学习模型,因为它过度预测阳性结果?