iphone中不显示background-image

时间:2011-09-03 17:22:37

标签: iphone css background rendering background-image

我不知道为什么我设置的'background-image'在所有浏览器中都能正常工作,但它不适用于Iphone的safari浏览器(我需要的那个),

这是问题的相关风格

    /**************************************************
        ESTILOS PARA SINGLE JOB
    **************************************************/


   /*Deleting all styles that dont take any effect with the question*/

    #panel.right ul.visible li a span.liLeft{
             width:95px;
             float:left;height:100%;display:block;
             position:relative;
             right:40px;
             /*HERE I INIT THE STYLE OF THE BACKGROUND IMAGE BUT I DONT SET THE URL*/
             -webkit-background-size: cover;
             -moz-background-size: cover;
             -o-background-size: cover;
             background-size: cover;
             z-index:10;
    }



    #panel.right ul.visible li a span.liRight{
             background:black !important;
             color:#fff;

    }

    #panel.right ul.visible li a span.liRight{
            z-index:9;
    }

    #panel.right ul.visible li#blue a{
            border-color:#0C7CC3;
    }
    #panel.right ul.visible li#pink a{
            border-color:#C21B7B;
    }
    #panel.right ul.visible li#orange a{
            border-color:#E83B35;
    }

    /*  HERE i set the urls for the different Id's and i can't see them in the iphone  */
    #panel.right ul.visible li#blue a span.liLeft{

            background-image:url('http://piscolabis.info/licht/img/azul.png');
    }
    #panel.right ul.visible li#pink  a span.liLeft{
            background-image:url(../img/rosa.png);
    }
    #panel.right ul.visible li#orange  a span.liLeft{
            background-image:url(../img/naranja.png);
    }


    /* deleting more styles*/

您可以在http://jsfiddle.net/6dK3T/2/http://piscolabis.info/job_single.html

查看在线代码

正如您所看到的,我只设置了一个完整的路径网址,这样您就可以看到图像在服务器中(以及任何桌面浏览器中),但我不知道为什么图像仍然没有显示在iPhone中< / p>

(它显示的与其他两个完全一样,我没有设置绝对路径(因为它们不在jsdfiddle中,它们不起作用))

是不是因为背景图片?是因为位置:相对?

知道为什么会这样吗?

- 编辑 -

应该是这样的

enter image description here

这不是一种谜吗?

4 个答案:

答案 0 :(得分:6)

我设法通过稍微调整你的风格来让它在我的iPhone上显示:

#panel.right ul.visible li a span.liLeft{
     width:95px;
     float:left;
     height:100%;
     display:block;
     position:relative;
     margin-left: -40px;
     margin-right: 40px;
     -webkit-background-size: cover;
     -moz-background-size: cover;
     -o-background-size: cover;
     background-size: cover;
     z-index:10;
}



#panel.right ul.visible li a span.liRight {
     background:black !important;
     float: left;
     color:#fff;
}

OSX上的Safari问题与此相同。删除

 right: 40px;

在图像开始显示的CSS中。

http://jsfiddle.net/5sX54/9/

答案 1 :(得分:5)

我有一个类似的问题,图像是2200x2500px但只有130kb并且没有加载。 似乎智能手机和平板电脑不会加载超过1024px的图像。

因此,尝试为特定设备加载较小的图像,它应该可以正常工作。

编辑:我还删除了图像上的调整大小并显示了大图像。在我的情况下,我删除了background-size(或将其放到auto)。

答案 2 :(得分:1)

尝试为#panel.right ul.visible li a span.liLeft元素提供准确的高度。 我修改了你的小提琴,添加了90px而不是100%,它似乎在我的iPhone上工作: http://jsfiddle.net/UGEyS/

答案 3 :(得分:0)

你在iphone上加载相同的背景图片吗?这看起来像一个非常巨大的图像,所以它可能会以某种方式逃离视口?我没有要测试的iphone,这是一个黑暗中的镜头,但你可以尝试设置你的html符合浏览器视口大小与元标记,如下所示:

<meta name="viewport" content="width=device-width, initial-scale=1"/>

那或者您可以使用媒体查询来定位小于480px的视口以使用不同的较小背景图像。