首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何隐藏未加载的图片(<img>标签)?

隐藏未加载的图片可以通过多种方法实现,以下是几种常见的方法:

方法一:使用CSS

你可以使用CSS来隐藏未加载的图片。一个常见的方法是使用伪类:empty:not(:empty)

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hide Unloaded Images</title>
    <style>
        img {
            width: 200px;
            height: 200px;
            background-color: #f0f0f0; /* 设置一个占位背景色 */
        }
        img:not([src]):not([srcset]) {
            display: none; /* 隐藏没有src属性的图片 */
        }
    </style>
</head>
<body>
    <img data-src="image.jpg" alt="Example Image">
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            const images = document.querySelectorAll('img[data-src]');
            images.forEach(img => {
                img.src = img.dataset.src;
            });
        });
    </script>
</body>
</html>

方法二:使用JavaScript

你可以使用JavaScript来动态设置图片的src属性,并在图片加载完成前隐藏图片。

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hide Unloaded Images</title>
    <style>
        img {
            width: 200px;
            height: 200px;
            background-color: #f0f0f0; /* 设置一个占位背景色 */
            visibility: hidden; /* 隐藏图片 */
        }
        img.loaded {
            visibility: visible; /* 加载完成后显示图片 */
        }
    </style>
</head>
<body>
    <img data-src="image.jpg" alt="Example Image">
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            const images = document.querySelectorAll('img[data-src]');
            images.forEach(img => {
                img.src = img.dataset.src;
                img.onload = () => {
                    img.classList.add('loaded');
                };
            });
        });
    </script>
</body>
</html>

方法三:使用占位符

你可以使用一个占位符来代替未加载的图片,当图片加载完成后替换掉占位符。

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hide Unloaded Images</title>
    <style>
        .image-container {
            width: 200px;
            height: 200px;
            background-color: #f0f0f0; /* 设置一个占位背景色 */
            position: relative;
        }
        .placeholder {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #f0f0f0;
        }
        img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 0.3s;
        }
        img.loaded {
            opacity: 1;
        }
    </style>
</head>
<body>
    <div class="image-container">
        <div class="placeholder"></div>
        <img data-src="image.jpg" alt="Example Image">
    </div>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            const images = document.querySelectorAll('img[data-src]');
            images.forEach(img => {
                img.src = img.dataset.src;
                img.onload = () => {
                    img.classList.add('loaded');
                };
            });
        });
    </script>
</body>
</html>

应用场景

  1. 页面加载优化:在图片加载完成前隐藏图片,可以减少页面加载时的视觉混乱,提升用户体验。
  2. 懒加载:在用户滚动到图片位置前不加载图片,可以减少初始加载时间,节省带宽。
  3. 占位符设计:使用占位符可以提供更好的视觉反馈,让用户知道这里会有图片。

参考链接

通过以上方法,你可以有效地隐藏未加载的图片,提升页面加载体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • img标签不同设备加载不同尺寸图片几种方法

    srcset属性里面,正好有宽度等于160px图片,于是加载foo-160.jpg。 注意,sizes属性必须与srcset属性搭配使用。单独使用sizes属性是无效。...它是一个容器标签,内部使用和,指定不同情况下加载图像。...标签media属性给出媒体查询表达式,srcset属性就是标签srcset属性,给出加载图像文件。...浏览器按照标签出现顺序,依次判断当前设备是否满足media属性媒体查询表达式,如果满足就加载srcset属性指定图片文件,并且不再执行后面的标签标签。...标签是默认情况下加载图像,用来满足上面所有都不匹配情况。 上面例子中,设备宽度如果不超过500px,就加载竖屏图像,否则加载横屏图像。

    6.8K10

    如何制作带图片中药标签

    其实我们使用条码标签软件也可以设计制作此类标签,制作好标签可以粘贴在中药药柜上,外包装盒,方便辨识。下面小编就演示具体操作步骤。   首先启动软件后,新建一个标签标签尺寸要根据标签尺寸设定。...点击软件左侧图片按钮,选择来自电脑,选择一张图片,添加到标签中,勾选打印或导出时先读取数据源字段值作为文件名,然后从该文件中读取图片。再点击“图片文件名整理工具”。...01.png   点击选择按钮,选择保存所有图片文件夹,这里需要注意是我们要把所需图片按照顺序整理好。然后点击导出到Excel,将文件保存在电脑上。...02.png   将上面保存好Excel文件打开,将图片地址这一列复制到中药名称信息表格里。 03.png   点击软件上方设置数据源,选择上面这个保存好Excel文件将其导入到软件中。...07.png   以上就是制作带图片中药标签具体操作步骤,小编为了演示,数据库只有10条信息,在实际中,数据量肯定比这个要多很多,添加或者修改数据只需要在数据库文件中操作就可以,然后将修改后数据库重新导入到软件中即可

    1.9K10

    如何批量生成带图片标签

    之前我们制作过一个精油分类标签,很多朋友看过之后给我们点赞并表示这样标签真的很方便。...上次我们制作标签是一个很简单样式,今天小编打算给大家制作一款带图片精油标签,就是每款精油标签上都有一张相对应图片。好了,下面我们就看看如何制作。   ...首先启动软件后,新建一个标签标签尺寸要根据标签尺寸设定。...点击软件左侧图片按钮,选择来自电脑,选择一张图片,添加到标签中,勾选打印或导出时先读取数据源字段值作为文件名,然后从该文件中读取图片。再点击“图片文件名整理工具”。...07.png   以上就是批量生成带图片标签制作方法,其实使用标签法可以给很多物品进行归类收纳,家庭使用或者店铺使用都是很方便

    1.7K10

    audo标签——如何隐藏浏览器默认播放控件尾部三个点

    wangxl5\Pictures\V-143360-BCE1F72B.mp4" controls=""> 在谷歌浏览器上,展示audio音频控件时,一般都会有后面三个点,这个是音频控件扩展功能交互按钮...点击之后,一般会显示出菜单,比如下图“播放速度”。 注意:这个扩展功能和浏览器版本有关系,有的版本默认没有三个点,有些版本点击三个点,显示菜单时“下载”。 2....遇到问题 在Qt-webengine渲染audio标签中,菜单功能“下载”不生效,所以希望直接隐藏菜单功能,即隐藏这三个点按钮交互。 3....参考文章: HTML音频控件-如何从默认音频播放器中删除3个点? html5 audio 标签 css样式设置小结

    2.2K20

    利用Jquery Lazyload JS插件实现网页图片延迟加载

    值有scroll(滚动), click(点击), mouseover(鼠标划过), sporty(运动), foobar(…).可以实现鼠标莫过或点击图片才开始加载,后两个值测试…4, effect...插件默认对隐藏图片加载(例如 display:none )....如果希望连隐藏图片一起加载,则可以把 skip_invisible 设为 false .8, appear: 默认值 nullappear: 用于在图片加载之前到显示图片之间处理函数,一般用于展示加载动画...此图片用来占据将要加载图片位置, 待图片加载时, 占位图则会隐藏接下来两个是兼容低版本属性, 在该版本中正常使用.11, effectspeed : 毫秒数effectspeed: 用于控制动画速度...在图片布局混乱时使用.Lazy Load 有一个循环查找 img 机制. 根据 HTML 文档布局从上往下查找, 当找到第一个并未显示/加载 img 时, 就会停止往下查找.

    8.3K71
    领券