【前端知识之CSS】CSS图片懒加载

本文探讨了前端面试中的CSS图片懒加载技术,包括其定义、优点、实现思路和三种具体方法:getBoundingClientRect().top + innerHeight、scrollTop+offsetTop+innerHeight以及intersectionObserve()。通过这些方法,可以提升用户体验,减少不必要的资源加载。
摘要由CSDN通过智能技术生成

前言

本系列主要整理前端面试中需要掌握的知识点。本节介绍CSS图片懒加载的实现方法。

文章目录

  • 前言
  • 一、什么是图片懒加载
  • 二、图片懒加载的实现思路
  • 三、getBoundingClientRect().top + innerHeight
  • 四、scrollTop+offsetTop+innerHeight
  • 五、intersectionObserve()


一、什么是图片懒加载

  1. 图片懒加载就是延迟加载,即当对象需要用到的时候再去加载。比如加载一个页面,这个页面很长很长,长到浏览器的可视区域装不下,懒加载就是优先加载可视区域的内容,其他部分等进入了可视区再加载。
  2. 图片懒加载的好处:
    (1) 全部加载会影响用户的体验。全部加载浪费时间,用户不能第一时间在可视区域看到内容;
    (2) 浪费用户的流量,有些用户并不想全部看完,全部加载会浪费大量的流量。

二、图片懒加载的实现思路

  1. HTML5支持使用data-前缀设置自定义属性。dataset自定义属性的格式:data-xx;前面的data-是固定的,后面的xx一般为表示与自定义属性相关的字符串。比如,img的src属性可以设置为data-src,当需要获取到这个属性时,可以用Element.data.src得到。
  2. 节流的应用:由于用户可能出现反复反复滑动的情况,因此图片不应该立刻加载,而应该使用节流适当延时执行加载操作。关于节流的知识可以见 博客:【前端面试必知】节流知识
  3. 所以图片懒加载很重要的就是它的判断条件,即什么时候加载这张图片?有三种方式都可以实现

三、getBoundingClientRect().top + innerHeight

  • getBoundingClientRect().top:元素至可视窗口的高度
  • window.innerHerght:可视窗口的高度
  • 具体解释如图所示:
    在这里插入图片描述
    因此,当getBoundingClientRect().top < window.innerHeight时,应该加载图片。

具体代码:

<body>
    <div class="box">
        <ul>
            <li>
                <img data-src="img1.jpg" alt="">
            </li>
            <li>
                <img data-src="img2.jpg" alt="">
            </li>
            <li>
                <img data-src="img3.jpg" alt="">
            </li>
            
最低0.47元/天 解锁文章
图片懒加载,带CSS样式以及思路解析
Y159357666的博客
04-15 611
<style> /* 图片懒加载思路 + 最开始加载页面,img的src不赋值(这样就不会去加载图片),把真实图片的地址赋值给img的自定义属性,方便后期想要加载真实图片时候获取 + 如果src不赋值或者加载的图片是错误的,会显示‘碎图’,这样样式不美观,所以;我们最开始让img是隐藏的 可以设置display 也可以设置透明度为0(透明度改变也可以设置过渡效果) + 给图片所在的盒子设置北京占位图(或者背景颜色),在真实图片没...
html图片懒加载
04-24
echo.js图片懒加载,亲测可用,插件也比较小,使用起来挺方便的
css自学框架之图片懒加载
zhaoyang314的博客
09-14 458
首先解释一下什么叫图片懒加载图片懒加载是一种在页面加载时,延迟加载图片资源的技术,也就是说图片资源在需要的时候才会加载,就是在屏幕显示范围内加载图片,屏幕显示范围外图片不加载。
前端性能优化——懒加载
最新发布
qq_51846847的博客
09-11 1098
前端性能优化——懒加载
CSS中如何实现优雅的图片懒加载与性能优化
Samanthaasefield的博客
04-14 2001
当图片进入视口时,JavaScript会获取图片的data-src属性并将其设置为src属性,从而触发图片的加载。它的核心思想是:当用户滚动页面时,只加载用户当前可见或即将可见的图片,而不是一次性加载所有图片。另一种方法是使用CSS的content属性和伪元素(如::before或::after)来显示占位符,然后通过JavaScript在适当的时候替换或显示真正的图片。使用图片优化服务:利用一些第三方的图片优化服务,如自动调整图片大小、格式转换、压缩等,进一步简化图片优化的流程。/* 初始时隐藏 */
css瀑布流以及图片懒加载
xiaobai_qxjn的博客
05-12 287
对于grid的网格布局以及图片懒加载等实现方式
前端css加载特效32个.rar
04-05
本资源"前端css加载特效32个.rar"正是一个专门针对CSS3加载特效的集合,包含了32种不同的页面过渡和加载动画,对于前端开发者尤其是初学者来说,是一个极好的学习和参考素材。 1. CSS3 动画基础:CSS3的`@keyframes...
HTML+css3 前端加载动画loading加载动画,32款网页loading加载动画
02-28
在网页设计领域,前端加载动画(通常称为Loading动画)是用户等待页面完全加载时的一种视觉反馈,它能够提升用户体验,使用户在等待过程中不会感到枯燥无趣。HTML和CSS3作为现代网页开发的基础,提供了丰富的功能来...
前端开发之CSS原理详解
08-31
"前端开发之CSS原理详解" 一、浏览器的发展与CSS 浏览器的发展与CSS前端开发的核心组件,浏览器通过HTTP协议连接网页服务器,获取网页并解析CSS文件。CSS的产生是为了解决早期HTML的显示功能限制,哈坤·利提出...
HTML5前端开发之CSS基础源码
03-17
这个“HTML5前端开发之CSS基础源码”主题深入探讨了CSS的基本概念、语法以及如何应用于实际项目中。下面我们将详细讨论相关的CSS知识点。 1. CSS基本概念: CSS是一种用于定义HTML或XML(包括如SVG、MathML等各种...
html css js实现图片懒加载
weixin_45485922的博客
05-02 491
原理 img 标签 有个 src 属性 当src 不为空的时候 随着img 元素渲染到页面上的时候 会异步的去加载资源 。 我们只需要 将 未出现在可视区 的 img 元素 src 设置为空即可 等它出现在屏幕 我们 再设置其src <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>懒加载</title> <style
jQuery图片懒加载代码
06-10
这是一款jQuery图片懒加载代码,点击加载更多代码,点击加载更多图片js特效。
懒加载
程序媛的成长史
10-29 466
1====为.什么用懒加载?          Web应用程序做的最多就是和后台数据库交互,而查询数据库是种非常耗时的过程。当数据库里记录过多时,查询优化更显得尤为重要。为了解决这种问题,有人提出了缓存的概念。缓存就是将用户频繁使用的数据放在内存中以便快速访问。在用户执行一次查询操作后,查询的记录会放在缓存中。当用户再次查询时,系统会首先从缓存中读取,如果缓存中没有,再查询数据库。缓存技术在一定
30行Javascript代码实现图片懒加载
qq_40126542的博客
12-20 221
小编推荐:Fundebug专注于JavaScript、微信小程序、微信小游戏,Node.js和Java实时BUG监控。真的是一个很好用的bug监控费服务,众多大佬公司都在使用。 前言 页面太多图片?那么请你花20分钟去优化一下页面的性能 讲道理,当你为图片的src赋值时,DOM节点渲染完毕时就会主动去请求src指向的资源,即使该图片不在用户的可视范围。那么,如果图片太多,加载页面的速度会...
图片懒加载
csl125的博客
07-02 333
CSS代码HTML代码JS代码完整代码CSS代码只是设置图片的一些样式:&lt;style&gt; *{margin: 0;padding: 0;} img{width: 50%;display: inline-block;border: 1px solid #ccc;float: left;} &lt;/style&gt;1234HTML代码1.png是一个1*1px的透明图或者...
利用CSS样式加载图像的做法(CSS应用技巧)
編程愛好的专栏(球)
04-04 854
很高兴告诉显示一张图片我可以这样做:   这里我们讨论与研究一个使用HTML控件与利用CSS来显示一张图片的区别:   先看例子: (1) (2)   在显示图片的两种方法中很显然大家会发现一个问题是:   方法2比方法1多了一个能力是:默认显示为图片大子,即可以自动匹配。   利用方法1如何实现该Html控件的这个特征呢: 我的思路是这样,利用IO类来获
图片预加载和懒加载
weixin_33720452的博客
01-23 265
对于前端性能来说,图片是一个过不去的坎,又想能页面美观,又想页面响应速度快,那么这时候就有了两个技术,图片懒加载和预加载。在这边我只介绍一些方法和原理,不具体把方法的代码贴出来。 懒加载:在需要显示图片的时候才去加载图片。 预加载:在还没显示的时候就加载图片。 在说预加载和懒加载之前。我们先说说图片加载的时机。 1、设置了display: none的img标签和元素背景图片,不会渲染但是会加载。 ...
图片懒加载原理及实现
weixin_34260991的博客
06-05 239
      由于过多的图片会严重影响网页的加载速度,并且移动网络下的流量消耗巨大,所以说延迟加载几乎是标配了。        图片懒加载的原理很简单,就是我们先设置图片的data-set属性(当然也可以是其他任意的,只要不会发送http请求就行了,作用就是为了存取值)值为其图片路径,由于不是src,所以不会发送http请求。 然后我们计算出页面scrollTop的高度和浏览器的高度之和, 如果图...
写文章

热门文章

  • 【蓝桥杯Web】第十三届蓝桥杯(Web 应用开发)省赛真题 10312
  • 【前端知识之JS】JS本地存储 8619
  • 【前端知识之JS】数组的map()方法与使用 8097
  • 【前端知识之Vue】对插槽(slot)的理解 6657
  • 【前端知识之Vue】双向数据绑定以及响应式的原理 6145

分类专栏

  • Vue项目 6篇
  • 前端知识之html+CSS 25篇
  • 2023秋招面经笔经 3篇
  • 勇敢饭饭,不怕刷题 9篇
  • 前端知识之Vue 19篇
  • 前端知识之JS 44篇
  • 计算机小知识 5篇
  • 计算机网络知识 2篇
  • 前端知识之webpack 4篇
  • MySQL知识 3篇
  • Java学习 12篇
  • 蓝桥杯Web 5篇

最新评论

  • 【前端知识之Vue3】一文搞懂Vue3到底做了哪些优化

    LiuzhipenG94: 这是不是半成品的react

  • 【前端知识之Vue】diff算法流程

    LiuzhipenG94: 这么复杂,神仙才能看懂啊表情包

  • 【前端知识之CSS】对盒子模型的理解

    大四苦行僧: 简显易懂

  • 【前端知识之JS】尾递归的理解

    前端小张: 少c点面试题上的内容吧,自己理解再写文章不行??天天就只会cv,真不理解意义在哪。。。。。

  • 【前端知识之CSS】CSS图片懒加载

    极光之域: 图片加载后,需要 observer.unobserve(oImg); 取消观察。

最新文章

  • 【项目小tips】Vue2中如何使用虚拟列表
  • 【项目小tips】Cookie+SessionID与Token+LocalStorage存储登录状态
  • 【2023秋招笔经】20220813 16点美团笔试
2022年137篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司临沂如何优化网站仙桃市网站关键词优化排名百度网站优化厦门联系电话天津 网站优化青浦区公司网站优化平台中山外贸网站优化操作大渡口区网站seo优化排名罗湖高端网站优化公司有哪些罗湖产品网站优化的主要方法孝南区网站排名优化日照专业网站优化哪家好优化网站更新教程优化公司网站出色火4星莱山区行业网站优化公司网站关键词自然排名优化宜昌本地网站优化要多少钱郑州价格低的电商网站优化网站怎么优化关键词排名服务网站优化的方法菏泽实力强的服务行业网站优化推广排名网站蜘蛛屯优化SEO优化网站优化工程师招聘长安网站优化做什么前端网站性能优化德州网站优化哪家好无锡专业网站优化效果绥化网站优化公司沧州网站搜索排名优化公司增城公司网站优化推广排名seoer如何优化网站香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化