我有一个网页,它使用了几个默认不可见的<img>
元素。
-
图像用于转盘
-
一些图像通过mobile.css和css媒体查询使用
display: none
设置为隐藏
浏览器,尤其是移动浏览器,如何对图像加载进行排队?是否可以对图像进行微调控制,以便
-
图像在可见之前不会加载
-
如果移动媒体查询进入,则mobile.css或附带的Javascript会中止图像加载
-
CSS背景图像和
<img>
元素图像的行为(如果有的话)之间有什么区别
在这种情况下,移动浏览器(WebKit)使用什么策略?
作为一个示例网站,我可以使用开源网站http://fi.pycon.org/2012/它有一个用HTML和CSS 创建的徽标元素
https://github.com/python-finland/fi.pycon.org/blob/master/2012/index.html#L85
这个元素在默认情况下是可见的(桌面)
https://github.com/python-finland/fi.pycon.org/blob/master/media/2012/css/theme.css#L99
但最终通过mobile.css和媒体查询为移动浏览器隐藏:
https://github.com/python-finland/fi.pycon.org/blob/master/media/2012/css/moobile.css#L20
-
移动浏览器是否进行了优化,以便不加载徽标图像文件?
-
如果标志使用
<img>
元素,情况会有所不同吗? -
覆盖CSS规则是否在不同的CSS文件(和媒体查询)中有关系吗
注意:应该如何处理媒体查询不在这个问题的范围内,我对以不同的方式构建基本CSS和媒体查询的答案不感兴趣。我很清楚这些解决方案。
目前没有可行的标准化选项来防止<img>标签从直接加载HTML+CSS。这也是W3C响应图像工作组成立的原因之一:
没有一个基于CSS的解决方案能够解决我们想要避免的一个基础问题:以更大的屏幕宽度下载多个资产,因为在应用交换逻辑之前可以发出请求。
这并不是说基于JavaScript的临时解决方案不能工作,只是纯粹的基于HTML+CSS的解决方案不会工作。因此,为了回答您的问题:
1.是否对移动浏览器进行了优化,以便不加载徽标图像文件
没有。隐藏元素将加载其背景图像。
2.如果将元素用于徽标,情况会有所不同吗
没有。在应用CSS之前,图像很可能会先开始加载。
3.覆盖CSS规则是否在不同的CSS文件(和媒体查询)中重要吗
没有。这可能会导致答案#2中提到的交换逻辑应用更多延迟,从而增加图像已经开始加载的可能性。