您现在的位置是:网站首页> 编程资料编程资料
CSS控制前端图片HTTP请求的各种情况示例30种CSS3炫酷页面预加载loading动画特效源码炫酷纯CSS3预加载动画特效源码 3种CSS3 预加载Loading动画特效源码纯CSS图片预加载实例 摆脱Javascript预载的束缚CSS 实现网页图片的预加载 纯CSS实现预加载动画效果
2021-09-05
995人已围观
简介 Web前端图片加载的方式多种多样,其所产生的HTTP请求也各异,这里我们就来列举CSS控制前端图片HTTP请求的各种情况示例,需要的朋友可以参考下
图片的http请求,有很多种情况,那么究竟什么情况下面不会发生请求呢?下面我用案例一一列举一下,希望对你深入了解http图片请求有所帮助。
1. 隐藏图片
- <img src="haorooms.jpg" style="display: none" />
http请求如下:
结论:只有Opera不产生请求。 注意:用visibility: hidden隐藏图片时,在Opera下也会产生请求。
2. 重复图片
- <img src="haorooms.jpg" />
- <img src="haorooms.jpg" />
http请求如下:
结论:所有浏览器都只产生一次请求 。
3. 重复背景
- "test1">test1
- "test2">test2
http请求如下:
结论:所有浏览器都只产生一次请求。
4. 不存在的元素的背景
- "test1">test1
http请求如下:
结论:背景仅在应用的元素在页面中存在时,才会产生请求。这对CSS框架来说,很有意义。
5. 隐藏元素的背景
- "test1">test1
http请求如下:
结论:Opera和Firefox对于用display: none隐藏的元素背景,不会产生HTTP请求。仅当这些元素非display: none时,才会请求背景图片。
6. 多重背景
- "test1">test1
上面这段代码的http请求,只会请求http2.jpg这一张图片,原因是test1的class把上面的给覆盖掉了,所有只请求后面的一张图片!
假如用css3多张背景图片的写法:
- "test1">test1
那么http请求如下:
webkit引擎浏览器对背景图都请求,是因为支持CSS3中的多背景图。
7. hover的背景加载
http请求如下:
结论:触发hover时,才会请求hover状态下的背景。不触发的话,只请求默认的背景图片。
8. JS里innerHTML中的图片
http请求如下:
结论:只有Opera不会马上请求图片。
注意:当添加到DOM树上时,Opera才会发送请求。
9. 图片预加载
最常用的是JS方案:
在无JS支持的环境下,可以采用隐藏元素来预加载:
src="haoroomscom.jpg" style="visibility: hidden; height: 0; width: 0" />
总结
1、对于隐藏图片和隐藏元素的背景,Opera不会产生请求。
2、对于隐藏元素的背景,Firefox也不会产生请求。
3、对于尚未插入DOM树的img元素,Opera不会产生请求。
4、基于webkit引擎的Safari和Chrome,支持多背景图。
5、其它情景,所有主流浏览器保持一致。
希望上面的图片http请求对您有所帮助,大家可以相互留言交流!
相关内容
- 浏览器hack总结 详细的浏览器兼容性的快速解决方法详解IE浏览器的haslayout属性及相关兼容性问题解决HTML5的video标签的浏览器兼容性增强方案分享浅谈各种浏览器下的CSS Hack兼容性写法CSS3中的Opacity多浏览器透明度兼容性问题火狐浏览器怎么切换到IE兼容模式?浅谈浏览器的兼容性(必看篇)
- 用CSS3打造HTML5的Logo(实现代码)HTML5和CSS3实例教程总结(推荐)html5+css3实现的点击眼睛玩游戏特效源码(护眼游戏)html5+css3绘制的滚动齿轮动画特效源码HTML5+CSS3从入门到精通 中文pdf完整版[229MB]html5+css3实现的手机测眼力小游戏源码浅谈HTML5 & CSS3的新交互特性
- 浅谈firefox 的event事件处理浅谈原生页面兼容IE9问题的解决方案新版chrome浏览器设置允许跨域的实现css hack之\9和\0就可能对hack IE11\IE9\IE8无效css区分ie8/ie9/ie10/ie11 chrome firefox的代码解决CSS浏览器兼容性问题的4种方案常见的浏览器兼容性问题(小结)border-radius IE8兼容处理的方法浅谈遇到的几个浏览器兼容性问题base64图片在各种浏览器的兼容性处理 对常见的css属性进行浏览器兼容性总结(推荐)
- CSS美化半个字符的巧妙方法纯CSS实现设置半个字符的样式CSS字符编码引起乱码的快速解决方法总结CSS中字符编码声明使用中的一些注意点CSS实现连续字符换行的方法用css控制字符串的输出长度超出时隐藏字符串过长CSS截取多余文字并用省略号显示用css截取字符实现文字自动截断隐藏溢出文本css实现字符串截断并加省略号示例css截取字符串简单实例table中的超长字符串用省略号表示的css样式
- 详解CSS中的选择器优先级及样式层叠问题解决CSS优先级计算的规则css优先级计算方法(推荐)详解CSS中的选择器优先级顺序CSS z-index 层级关系优先级的概念CSS优先级的两种理解方式
- 不固定宽度和高度的情况下CSS调整div居中的方法总结CSS控制div宽度最大宽度/高度和最小宽度/高度的方法CSS设置HTML元素的高度与宽度的各种情况总结兼容IE6的网页最小最大宽度和最小最大高度css写法CSS的最大高度、最小高度及宽度在IE6下没有效果问题CSS控制页面最大最小宽度和高度可兼容IE6版本的实现方法CSS min-height IE6、IE7、FF下DIV自适应高度CSS IE6奇数宽度或高度的bugcss实现一个元素高度固定宽度按比例显示效果
- Less框架中将CSS强制打包到单个文件中的技巧CSS Less框架基础教程Less里css表达式的写法示例介绍LESSCSS让CSS使用起来更加灵活成就CSS动态化less让css具有动态语言的特性学习CSS预处理器:Sass和less进行对比动态的样式表lesscss:简单学习lesscss语法LESS 让css也支持变量,运算符,include,嵌套规则LESS 让css也支持变量,运算符,include,嵌套规则等等 CSS less优化
- CSS的box-align属性控制子元素布局实例解析CSS的box model盒模型及其内的子元素布局控制使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题实例讲解CSS3中的box-flex弹性盒属性布局CSS3中box-shadow的用法介绍CSS3属性box-shadow使用指南CSS3属性box-sizing使用指南css3设置box-pack和box-align让div里面的元素垂直居中
- 基于CSS实现每列四行加载完一列后数据自动填充到下一列CSS3 Text Stroke(文本描边)和text-fill-color(文本填充色)调试工具CSS3 Animation 制作按钮鼠标滑过动画填充背景特效源码(13种)简单掌握CSS3将文字描边及填充文字颜色的方法两个div左边的固定宽度右边的自动填充的csscss 如何让背景图片拉伸填充避免重复显示CSS教程:盒模型(BOX Model)-CSS教程-网页制作-网页教学网
- CSS颜色体系学习小结(推荐)CSS3中各种颜色属性的使用教程CSS实现大小相同、颜色深浅不一的粒子旋转加载动画CSS3中currentColor关键字的妙用使用CSS3的::selection改变选中文本颜色的方法css实现兼容火狐、IE的LI奇偶行颜色交替方法CSS中对RGB颜色的使用详解CSS3中颜色线性渐变实战使用CSS3的背景渐变Text Gradient 创建文字颜色渐变可自定义进度条颜色的CSS3动画进度条源码采用CSS3实现的表面颜色可渐变3D立方体动画特效源码