【问题标题】:background-image is not displayed in iphoneiphone中不显示背景图像
【发布时间】:2011-09-03 17:22:36
【问题描述】:

我不知道为什么我设置的“背景图像”在所有浏览器中都可以正常工作,但在 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查看在线代码

如您所见,我只设置了完整路径 URL,以便您可以看到图像在服务器中(以及在任何桌面浏览器中),但我不知道为什么图像仍未显示在 iphone 中

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

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

知道为什么会这样吗?

-编辑-

应该是这样的

这不是一个谜吗?

【问题讨论】:

  • 我在 Iphone 上查看了这个,我认为图像正在出现。你应该把你的小提琴缩小到给你带来问题的那部分。
  • 嗯,问题开始的地方在我的问题中,你能看到你手机里的红色、蓝色和粉色图像吗? (右侧黑暗导航菜单中的那些?)您的答案不会是评论吗? :$
  • 对不起,可能应该是评论 - 我是新手。是的,我可以看到红色、蓝色和粉红色的图像。
  • 老兄,这很奇怪。您是否检查过 tje jsfiddle 中的蓝色图像? (比较一下。深色导航菜单上应该有 3 张图片,不要将其与右边框混淆)

标签: iphone css background rendering background-image


【解决方案1】:

通过稍微调整你的样式,我设法让它在我的 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/

【讨论】:

  • 试过调整,更改 CSS 中的这些属性不会让它们显示在我的 iPhone 中...你确定吗?
  • 这救了我——具体来说,它是背景尺寸:封面;。我遇到了一个奇怪的问题,背景图像在桌面 Safari 上显示正常,在桌面 Chrome 上正常,在 iOS 模拟器上正常,但在实际的物理设备上没有显示。添加背景尺寸:封面;让它无处不在。
【解决方案2】:

我在一张 2200x2500 像素但只有 130kb 且无法加载的图片上遇到了类似的问题。 智能手机和平板电脑似乎无法加载宽度超过 1024 像素的图像。

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

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

【讨论】:

  • 非常感谢您的评论,我正在拔头发试图找出一个宽背景图像。
  • 这解决了我的问题。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

    或者您可以只使用媒体查询来定位小于 480 像素之类的视口,以使用不同的、更小的背景图像。

    【讨论】:

    • 啊,我在看大背景图片:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2010-12-19
    • 1970-01-01
    • 2012-10-16
    • 2012-12-11
    • 2016-08-19
    • 2016-06-11
    相关资源
    最近更新 更多