我正在尝试根据不同的分辨率为我的网站设置背景图片。我还想包括视网膜媒体查询,以便如果视网膜设备访问我的网站,将加载正确的图像。问题是我总是得到最高的分辨率,当然不是视网膜......这是我的css
<style>
#background
{
font-size: large;
position: relative;
top:50%;
left:50%;
color: white;
}
@media only screen and (min-device-width : 768px) and (max-device-width:1024px) and (orientation : landscape)and (-webkit-min-device-pixel-ratio: 2)
{
#demo{
width: 100%;
min-height: 800px;
background-size: 100%;
background-repeat: no-repeat;
position:absolute;
background-image: url(demo_BG_1024@2x.png);
background-color: rgb(0,0,0);
}
}
@media screen and (min-width:1025px)
{
#demo{
width: 100%;
min-height: 800px;
background-size: 100%;
background-repeat: no-repeat;
position:absolute;
background-image: url(demo_BG_1024.png);
background-color: rgb(0,0,0);
}
}
@media screen and (max-width:1024px)
{
#demo{
width: 100%;
min-height: 800px;
background-size: 100%;
background-repeat: no-repeat;
position:absolute;
background-image: url(demo_BG_1024.png);
background-color: rgb(0,0,0);
}
}
@media screen and (max-width:720px)
{
#demo{
width: 100%;
min-height: 800px;
background-size: 100%;
background-repeat: no-repeat;
position:absolute;
background-image: url(demo_BG_720.png);
background-color: rgb(0,0,0);
}
}
@media screen and (max-width:320px)
{
#demo{
width: 100%;
height: 100%;
background-size: 100%;
background-repeat: no-repeat;
position:absolute;
background-image: url(demo_BG_320.png);
background-color: rgb(0,0,0);
}
}
</style>
答案 0 :(得分:1)
要添加@BaTmaN的答案,它很可能在Firefox中不起作用/示例代码使用webkit前缀。 对于其他浏览器,您需要使用正确的浏览器前缀: 例如
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5)
答案 1 :(得分:0)
您必须将-webkit-min-device-pixel-ratio:1
用于非视网膜。
非Retina。
@media only screen and (min-device-width : 768px) and (max-device-width:1024px) and (orientation : landscape)and (-webkit-min-device-pixel-ratio: 1)
{
#demo{
width: 100%;
min-height: 800px;
background-size: 100%;
background-repeat: no-repeat;
position:absolute;
background-image: url(demo_BG_1024@1x.png);
background-color: rgb(0,0,0);
}
}
视网膜
@media only screen and (min-device-width : 768px) and (max-device-width:1024px) and (orientation : landscape)and (-webkit-min-device-pixel-ratio: 2)
{
#demo{
width: 100%;
min-height: 800px;
background-size: 100%;
background-repeat: no-repeat;
position:absolute;
background-image: url(demo_BG_1024@2x.png);
background-color: rgb(0,0,0);
}
}
答案 2 :(得分:0)
我不使用媒体查询,我使用retina.js。您需要做的就是包含retina.js文件并托管两个版本的图像 - image.png
和image@2x.png
(例如)。
@2x
- Apple的预定义标识符)(如果可用),或显示正常图像如果不。非视网膜显示器将以非@2x
版本提供。
此处提供更多信息:http://imulus.github.io/retinajs/