在智能手机上停止下载图像

And*_*rén 5 html css image smartphone responsive-design

我正在为一家公司开发一个响应式网站,其中全尺寸网站有一个幻灯片,背景中有图像(完全用Backstretch填充屏幕).由于图像的大小非常大(大约300k),我正在寻找一种方法来阻止在智能手机上查看网站时加载图像.

我申请display: none,并visibility: hidden与媒体查询直道股利.它隐藏了图像,但似乎仍在下载.是否有一种聪明的方法可以让浏览器完全忽略它们?

jus*_*ery 6

如果您通过CSS设置图像,那么有一种方法.

如果将div设置为display:none,它仍会下载,但是如果将父div设置为none,则在媒体查询触发设置之前不会加载

CSS

.parent {display:block;}
.background {background-image:url(myimage.png);}

@media only screen and (max-width:480px) {
.parent {display:none;}
}
Run Code Online (Sandbox Code Playgroud)

HTML

<div class="parent">
   <div class="background"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

帽子小贴士给Tim Kadlec - http://timkadlec.com/2012/04/media-query-asset-downloading-results/


oky*_*net 5

另一个选择是采用“移动优先”的方法,定义移动的默认样式,并在较大屏幕宽度的媒体查询中覆盖这些样式。

类似以下内容将阻止图像下载到移动设备上,并且避免了不必要的包装div :)

HTML:

<div class="container">
    <!-- slideshow container -->
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

/* default to no background image */
.container {
    background-image: none; 
}

/* add it in for wider screens */
@media screen and (min-width: 500px) {
    .container {
        background-image: url(myimage.png);
    }
}
Run Code Online (Sandbox Code Playgroud)