背景图像渲染问题

时间:2015-03-16 19:08:39

标签: html css background background-image

我在某些手机上遇到了一些背景问题。

该div的样式是:

#navPanel {
    background: url('images/bg04.jpg');
    box-shadow: inset -1px 0px 0px 0px rgba(255,255,255,0.25), inset -2px 0px 25px 0px rgba(0,0,0,0.5);
    text-shadow: -1px -1px 1px rgba(0,0,0,1);
}

它在朋友iPhone 6上渲染得很好,如下所示:

enter image description here

当它在我的iPhone 5s上渲染时,背景图像会失真: enter image description here

为什么背景图像会以这种方式呈现的任何想法?是否与设备的像素密度有关?

抱歉这些大图片。

ufc-info.com

我做了一个快速的小提琴,它正在按照需要进行渲染。

Fiddle

1 个答案:

答案 0 :(得分:1)

我不明白为什么它看起来不同,因为我相信这两种设备都有视网膜显示。无论如何,您可以使用媒体查询来定位视网膜屏幕并提供高分辨率背景图像。

你当前的图片bg04.jpg是150x150,你需要找到/创建它的高分辨率版本。

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi) {
    #navPanel {
        background-image: url('images/bg04@2x.jpg'); /* this image should be 300x300 */
        background-size: 150px 150px;
    }
}

或者快速尝试这样,但模式看起来会略有不同。

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi) {
    #navPanel {
        background-image: url('images/bg04.jpg'); /* current one 150x150 */
        background-size: 75px 75px; /* half */
    }
}