当前位置: 首页 > 知识库问答 >
问题:

如何传递多个lazyload占位符到图片元素?

楚彦
2023-03-14

我们可以在源标签中实现lazyload到图片元素中。但是我们只有一个img标签,我们可以在这个img标签的src属性中加载lazyload占位符映像。因此,如果我想为每个懒加载的图像设置单独的懒加载占位符,有没有办法实现它?我需要这个,因为我想为便携式设备和桌面设置不同的相框。比方说,一张图像对于便携式设备具有较高的高度值(如果视口小于1200px,将被加载),另一张图像对于桌面视口具有较高的宽度值(1200px或以上)。Ex:

<picture>
    <!--[if IE 9]><video style="display: none"><![endif]-->
    <source
            data-srcset="640.jpg 640w,
                990.jpg 990w,
                1024.jpg 1024w"
            media="(max-width: 1024px)" />
    <source
            data-srcset="1200.jpg 1200w" />
<!--[if IE 9]></video><![endif]-->
<img
        src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
        data-src="1024.jpg"
        class="lazyload"
        alt="image with artdirection" />
</picture>

代码取自afarkas.github.io

假设第一个源标签中的图像的宽度为640px,高度为900px,第二个源标签中的图像的大小为1200px,宽度为900px。在这里,我需要为便携式设备和台式机加载不同的低质量图像,但我只能设置一个img标记,因此只能在其src属性中设置一个图像占位符。我们能做些什么来解决这个问题?

提前谢谢你,埃姆雷

共有1个答案

宋耀
2023-03-14

这样做的一种方法是使图片元素内在化,然后通过CSS和媒体查询控制图片元素。

这样地:

picture.intrinsic {
display: block;
position: relative;
height: 0;
width: 100%;
padding-bottom: 100%; // Default to square
}
picture.intrinsic img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

然后将media查询添加到设置不同填充底部的。

 类似资料:
  • 所以我创建了一个带有两个字段的登录表单,用户名 如您所见,带有电子邮件的两个字段

  • 问题内容: 我正在尝试实现一个简单的前馈网络。但是,我不知道如何输入。这个例子: 给我以下错误: 我试过了 但这显然不起作用。 问题答案: 要填充占位符,请使用(或)参数。假设您有一个带占位符的下图: 如果要评估,则必须输入的值。您可以按照以下步骤进行操作: 有关更多信息,请参见有关送纸的文档。

  • 使用指南 组件介绍 Lazyload 是 Vue 指令,使用前需要对指令进行注册 引入方式 import Vue from 'vue'; import Lazyload from 'vue-lazyload'; Vue.use(Lazyload, { lazyComponent: true, //失败时显示 (可以自定义) error: 'https://nuofe.nnte

  • 问题内容: 如何使用参数占位符将列名值作为SQL参数传递? 目标是使此工作正常进行: 是一个变量,它将存储 是(并且我没有成功将其作为参数传递) 是一个(我对此没有问题) 已经阅读并尝试了很多东西: 低于1不会引发任何错误,但不会带来任何数据 低于一投 低于一投 低于一投 低于1不会引发任何错误,但不会带来任何数据 低于1不会引发任何错误,但不会带来任何数据 低于1不会引发任何错误,但不会带来任何

  • 我正在尝试从Gallery上传所选图像到dropbox。我被贴了好几天,因为我无法恢复运行时异常 我的onActivityResult()是 uploadDropbox正文为: private AccessTokenPair getStoredKeys(){//TODO自动生成的方法存根 } private void storeKeys(String key,String secret){//TO

  • 类型 Glide允许用户指定三种不同类型的占位符,分别在三种不同场景使用: placeholder error fallback 占位符(Placeholder) 占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 error Drawable ,则占位符将