使用媒体查询逐步加载图像
如果我在 800px 宽的屏幕上打开它,小 jpg 和大 jpg 都会被加载吗?或者浏览器是否足够智能,可以忽略较小的图像?
@media screen and (min-width: 480px) {
div {
background-image: url(images/small.jpg);
}
}
@media screen and (min-width: 600px) {
div {
background-image: url(images/big.jpg);
}
}
If I opened this on a screen 800px wide, would both the small and big jpg be loaded? or is the browser intelligent enough to ignore the smaller image?
@media screen and (min-width: 480px) {
div {
background-image: url(images/small.jpg);
}
}
@media screen and (min-width: 600px) {
div {
background-image: url(images/big.jpg);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于两个媒体查询都将得到满足,并且两个规则都使用相同的选择器,因此第二个
div
规则将优先,并且只会为任何加载
。一旦您调整浏览器窗口的大小直到第二条规则不再适用,它应该继续加载big.jpg
divsmall.jpg
。我用你的 CSS 做了一个快速测试页面。 Firebug 的 Net 面板验证了
big.jpg
是以我常用的浏览器大小加载的,而small.jpg
仅在我将浏览器窗口设置得足够窄后才加载。Since both media queries will be fulfilled and both rules use the same selector, the second
div
rule will take precedence, and onlybig.jpg
will be loaded for anydiv
. Once you resize the browser window until the second rule no longer applies, it should go ahead and loadsmall.jpg
.I made a quick test page with your CSS. Firebug's Net panel verified that
big.jpg
was being loaded at my usual browser size, andsmall.jpg
only loaded once I made my browser window narrow enough.