当前位置: 首页 > news >正文

html和css中图片加载与渲染的规则是什么?

浏览器渲染web页面的过程

  1. 解析html,构成dom树
    2.加载css,构成样式规则树
    3.加载js,解析js代码
    4.dom树和样式树进行匹配,构成渲染树
    5.计算元素位置进行页面布局
    5.绘制页面,呈现到浏览器中

图片加载和渲染的过程

1.解析html,遇到<img><picture>,会加载图片,放入dom树中
2.加载css,遇到background-image时,不加载图片,放入样式树中
3.解析js,代码中有创建<img><picture>元素添加到dom树中,如果有添加background-image样式会添加到样式规则树中
4.构建渲染树时,如果dom节点匹配到样式规则中的background-iamge,会加载背景图片
5.计算图片位置进行布局
6.渲染图片

web页面中的图片不是所有都会进行加载和渲染

<img><picture>和设置background-image的元素遇到display:none时,图片会加载,但不会渲染。
<img><picture>和设置background-image的元素祖先元素设置display:none时,background-image不会渲染也不会加载,而img和picture引入的图片不会渲染但会加载
<img><picture>和background-image引入相同路径相同图片文件名时,图片只会加载一次
样式文件中background-image引入的图片,如果匹配不到DOM元素,图片不会加载
伪类引入的background-image,比如:hover,只有当伪类被触发时,图片才会加载

相关文章:

  • 系列四十五、Spring的事务传播行为案例演示(五)#MANDATORY
  • 驱动第十天
  • libpcap获取数据包
  • 前度开发面试题
  • 【网络协议】聊聊http协议
  • linux中断下文工作队列之延迟工作(中断六)
  • 第三届字节跳动奖学金官宣开奖,13位优秀科研学子每人获10万奖学金
  • 「永不失联」产品创新与升级系列发布,预约直播“即将发车”
  • 结构体内存分配
  • 基于STC系列单片机实现定时器0扫描数码管显示定时器/计数器1作为计数器1产生频率的功能
  • mysql存在10亿条数据,如何高效随机返回N条纪录,sql如何写
  • Android使用Glide类加载服务器中的图片
  • 2023 年 Github 万圣节彩蛋
  • matlabR2021a正版免费使用
  • ardupilot开发 --- 深度相机 篇
  • ES6指北【2】—— 箭头函数
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【mysql】环境安装、服务启动、密码设置
  • CentOS从零开始部署Nodejs项目
  • CSS魔法堂:Absolute Positioning就这个样
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JAVA SE 6 GC调优笔记
  • JavaScript 奇技淫巧
  • k个最大的数及变种小结
  • node学习系列之简单文件上传
  • php面试题 汇集2
  • Python进阶细节
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • vue-router的history模式发布配置
  • 第2章 网络文档
  • 读懂package.json -- 依赖管理
  • 工作中总结前端开发流程--vue项目
  • 来,膜拜下android roadmap,强大的执行力
  • 爬虫模拟登陆 SegmentFault
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用 Docker 部署 Spring Boot项目
  • 学习笔记:对象,原型和继承(1)
  • Android开发者必备:推荐一款助力开发的开源APP
  • 通过调用文摘列表API获取文摘
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​ssh免密码登录设置及问题总结
  • # Maven错误Error executing Maven
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #DBA杂记1
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (23)Linux的软硬连接
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (js)循环条件满足时终止循环
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (转)德国人的记事本
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .gitignore文件_Git:.gitignore