【发布时间】:2013-04-23 19:16:21
【问题描述】:
我希望在不同的设备宽度上有不同尺寸的图像,有时甚至根本没有图像,以节省移动用户的带宽。
它会像这样工作吗:
Modernizr.load([{
test: 1025 > window.screen.width,
yep: "mobile.css",
nope: "desktop.css"
}]);
我还发现了以下纯 css 解决方案,据称该解决方案有效并且只会在需要时加载图像:
<div id="test3">
<div></div>
</div>
#test3 div {
background-image:url('images/test3.png');
width:200px;
height:75px;
}
@media all and (max-width: 600px) {
#test3 {
display:none;
}
}
或
<div id="test5"></div>
@media all and (min-width: 601px) {
#test5 {
background-image:url('images/test5-desktop.png');
width:200px;
height:75px;
}
}
@media all and (max-width: 600px) {
#test5 {
background-image:url('images/test5-mobile.png');
width:200px;
height:75px;
}
}
此解决方案的来源: http://timkadlec.com/2012/04/media-query-asset-downloading-results/
但它相当复杂。
简单地使用modernizr来加载所有设置背景图像的css而不是加载多个图像版本是个好主意吗?
【问题讨论】:
-
你应该使用媒体查询。
-
合乎逻辑的响应是谷歌媒体查询以查看它们的全部内容。
-
这是关于加载图像的,我很清楚媒体查询是关于什么的。
标签: css responsive-design media-queries modernizr