4

更新


我有全屏背景图片。这给移动浏览带来了问题,因为图像很大并且是高分辨率的。

下一个问题是视网膜显示等问题,设计/程序员如何准备处理这个问题?我看到很多关于如何在图像之间切换的文章。但是后来我对像素密度与分辨率过度混淆了。何时何地需要它,以及如何以及为什么要针对它们。

例子:

*全屏背景图像,分辨率为 1900x1080,分辨率为 72dpi。为了获得最佳优化,每个分辨率/像素密度应该有多少张图像?此外,鉴于这种情况,哪个库/插件/语义最适合解决这种情况?

最后,如果我使用媒体查询来定位和切换背景图像,它会下载所有图像吗?还是仅在满足要求时?

@media (min-device-width : 768px) 
and (max-device-width : 1024px) {
background-image:url('paper1024.png');
}

@media only screen 
and (min-width : 1824px) {
background-image:url('paper1900.png');
 } 

感谢堆栈


//旧问题没有出于评论目的删除它//

所以我正在制作一个全屏图像的响应式网站。我遇到的问题是原始图像对于移动设备下载来说太大了。

作为响应式设计的新手,我不知道这是一个问题,并自行发现了它。我读了几篇文章

最好的是:
http ://www.alistapart.com/articles/responsive-images-and-web-standards-at-the-turning-point/

我的问题是:我不相信<picture>标签对公众开放?我找不到更多关于此的信息。

有谁知道这是否允许?此外,有关如何正确使用它的更多信息/文档。

如果picture不适用。是否有任何“标准”论断可以使图像响应而不会使移动带宽膨胀?

4

1 回答 1

1

这是我在上一个项目中进行视网膜化的方式:

首先使用 background-image 在普通 css 中设置桌面图像:

#bg {
  background: image-url('wallpaper_desktop.jpg') center top;
  background-size: 1024px 768px;
}

然后,我给手机地址,例如 iphone:

@media only screen and (min-device-width: 320px) and (max-device-width: 480px){
  #bg {
    background: image-url('wallpaper_mobile.jpg') center top;
    background-size: 320px 480px;
  }
}

然后是视网膜图像处理。使用大小翻倍的图像(请参阅文件名中的“@2x”):

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #bg {
    background: image-url('wallpaper_mobile@2x.jpg') center top;
    background-size: 320px 480px; // Original size
  }
}

由于还有配备 Retina 显示屏的 iPad 和 MacBook,我们应该考虑为它们提供比高分辨率手机更大的高分辨率版本:

@media only screen and (max-device-width: 2048px) and (-webkit-min-device-pixel-ratio: 2) {
  background: image-url('wallpaper_desktop@2x.jpg') center top;
  background-size: 1024px 768px;
}

所以,通常我每张图片使用 4 个版本。2 个桌面版本(一个用于视网膜显示器的尺寸加倍)和 2 个移动版本(还有一个用于视网膜显示器的尺寸加倍)

顺便说一句:在对附加图像使用媒体查询时,没有附加请求。

于 2012-07-04T16:15:37.917 回答