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,只有当伪类被触发时,图片才会加载

相关推荐
xiaokuangren_8 小时前
前端css颜色
前端·css
anOnion9 小时前
构建无障碍组件之Meter Pattern
前端·html·交互设计
hhcccchh9 小时前
1.2 CSS 基础选择器、盒模型、flex 布局、grid 布局
前端·css·css3
修己xj10 小时前
Markdown 里写公式,别只知道 LaTeX!试试 HTML 标签,简单到飞起
html
hhcccchh13 小时前
1.1 HTML 语义化标签(header、nav、main、section、footer 等)
java·前端·html
bjzhang7514 小时前
使用 HTML + JavaScript 实现组织架构图
前端·javascript·html·组织架构图
军军君0114 小时前
Three.js基础功能学习十六:智能黑板实现实例三
前端·javascript·css·vue.js·3d·前端框架·threejs
军军君0115 小时前
Three.js基础功能学习十四:智能黑板实现实例一
前端·javascript·css·typescript·前端框架·threejs·智能黑板
AscendKing16 小时前
免费、易用、覆盖全平台的网页转 PDF 工具
pdf·html·网页保存·网页保存为pdf·保存网页位pdf
web_小码农18 小时前
CSS 3D动画 旋转木马示例(带弧度支持手动拖动)
javascript·css·3d