前端页面布局中,有时候用的图片作为img标签插入,有时候是css背景图background-image,两者之间有什么区别呢?
差异
1--img是html标签,占位,background-image是CSS样式,不占位
2--在网页加载过程中,img作为网页结构内容的一部分,会在加载结构的过程中加载,而background-image作为css样式的一部分,会在结构加载完成后开始加载。(如果你引入了一个很大的图片,在这个图片下载完成之前,img后面的内容都不会显示,而如果用css引入同样的图片,网页结构和内容加载完成之后,才开始加载背景图片,不会影响你浏览网页内容。)
3--背景图片在加载失败或路径找不到时,不会显示图片标记,img标签在加载失败或找不到路径时,显示一个撕裂的小图标标记
img标签使用
作为html结构内容的一部分
展示从后台传过来的数据
对图片进行缩放操作
利于搜索引擎搜索时
有明确的语义化要求
图片作为页面的组成部分而不是修饰部分
显示图片只给定宽或高且不能截断图片,并且保证图片宽高比
css背景图使用
不是html结构的一部分
图像代替文本使用时
缩短下载时间时
为不同的屏幕分辨率展示不同的图像时(media查询时使用背景图)
作为背景图片
禁止用户保存图片(点击鼠标右键另存为操作)
允许图片拉伸,平铺,截取等情况(background-size:100% 100%;按容器 比例撑满,图片会变形;background-size:cover;把背景图片放大到适合元素容器的尺寸,图片比例不变)