javascript - 使用 Lazysizes RIaS 插件有条件地更改数据大小的输出
问题描述
我正在使用 Cloudinary 和LazySizes RIaS插件的网站上工作,并且在大多数情况下它工作正常。
我有这样的配置:
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.rias = window.lazySizesConfig.rias || {
prefix: 'https://res.cloudinary.com/user/image/fetch/q_auto:eco,f_auto,c_scale/w_{width}/',
absUrl: true
}
我想要的大多数图像都是列的全宽,它们很好。但是一些源图像不是那么宽,我不希望它们是全宽的。
但是 LazySizes 将sizes
在所有图像上设置相同的值,该值等于列的宽度,这意味着有些图像会被放大和拉伸。
有谁知道一种方法,无论是data
在标记中使用属性还是在 js 配置中使用条件,这将允许我告诉 LazySizes 不要sizes
为某些图像应用默认输出?
似乎如果我尝试使用任何其他值,auto
那么data-sizes
LazySizes 将无法为该图像运行。
我想我也许可以使用您使用的示例,该示例在data-format
中输出不同的值,srcset
但sizes
仍然等于列的宽度。
解决方案
事实证明,我的特殊情况的答案是如果图像的宽度小于父级的宽度,则添加style:max-width: XXpx
到标签中。img
max-width
推荐阅读
- python - 运行 SUDO 命令时 Python 脚本抛出 TTY Sudo 错误
- flutter - Hive registerAdapter 不接受 id
- python - 在 Python 中使用数字递增列表标题名称
- php - functions.php 中的“file_get_contents”
- postgresql - .Net 核心和 Npgsql 查询错误 A 命令已在进行中
- node.js - 如何使用 Node.js 从 MongoDB 匹配字段并获取其 objectId?
- cordova - 使用 cordova-plugin-advanced-http 请求超时
- excel - 将具有特定格式的单元格从其他工作表中检索到 Excel 中的新工作表中
- docker - 如何在 Docker 中使用 Wine 运行我的 Win32 应用程序?
- ios - 如何在 UITableView 中替换自定义单元格样式?