对于使用 Retina 显示器的用户,我的网站图像看起来很模糊。(例如,在 Retina MacBook Pro 上)。
如何为使用 Retina 显示器的访问者提供高分辨率图像,但向其他所有人提供标准尺寸的图像,同时保持图像的外观尺寸相同?
对于使用 Retina 显示器的用户,我的网站图像看起来很模糊。(例如,在 Retina MacBook Pro 上)。
如何为使用 Retina 显示器的访问者提供高分辨率图像,但向其他所有人提供标准尺寸的图像,同时保持图像的外观尺寸相同?
在您的 HTML 中,<div>
像这样创建:
<div class="ninjas-image"></div>
在你的 CSS 中,添加:
.ninjas-image {
background-image: url('ninja-devices.png');
width: 410px;
height: 450px;
}
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
.ninjas-image {
background-image: url('ninja-devices@2x.png');
background-size: 410px 450px;
}
}
这里的魔力在于 CSS@media
查询。当设备报告“设备像素比”为 1.5 (144 dpi) 或更高时,我们有一个双倍大小的图像 (ninja-devices@2x.png)。这样做可以让您通过将原始的、较小的图像传送到非视网膜设备来节省带宽,当然它在视网膜设备上看起来很棒。
笔记:
此答案于 2016 年更新,以反映最佳实践。min-device-pixel-ratio
没有达到标准。相反,min-resolution
它被添加到标准中,但桌面和移动 Safari 在撰写本文时不支持它(因此是-webkit-min-device-pixel-ratio
后备)。您可以在以下网址查看最新信息:http ://caniuse.com/#feat=css-media-resolution 。
我们一直在使用以下方法来处理比率为 1.5 或更高的多种情况 - 这需要考虑更多设备和浏览器:
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5) {
我们启用了整个网站的 Retina:http ://www.embraceware.com/