完整的背景图像在 iPhone 5 上的放大效果不佳

Posted

技术标签:

【中文标题】完整的背景图像在 iPhone 5 上的放大效果不佳【英文标题】:Full background image scales up poorly on iPhone 5 【发布时间】:2016-12-07 23:26:59 【问题描述】:

我有一个在多个 div 中显示背景图像的单页网站。我使用background-attachment: fixed 给它一个伪视差滚动效果。

它在桌面上完美运行。我现在知道这在 iPhone 上不起作用,所以我使用媒体查询从 iPhone 版本中删除了这段代码。 (我可以忍受后备。)在 iPhone 5 上,背景图像放大到无法识别的视图——大到只有像素。

如何调整图像大小以适合手机的浏览器窗口?我到处寻找答案。

我删除了所有媒体查询。我什至删除了 background-attachment: fixed 属性无济于事。这是该站点所在位置的链接:http://www.mywebdesignstudio.net/danielleb_KKC(我放回了背景附件:已修复)如果您在 iPhone 5 上查看它,照片太大了。这适用于台式机、笔记本电脑和平板电脑,但不适用于手机 - 因此媒体查询以换出照片以查看它是否有效。随意查看整个代码的页面源代码。

这是 CSS 代码:

@viewport
    zoom: 1.0;
    width: device-width;


body, html 
    height: 100%;
    margin: 0;
    font: 1em/1.8 "Arial", sans-serif;
    color: #777;



.bgimg-1, .bgimg-2 
    position: relative;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;


.bgimg-1 
    background-image: url("pic4ghost.png");
    min-height: 100%;


.bgimg-2 
    background-image: url("radio.png");
     min-height: 550px;


@media only screen and (max-width: 767px)
    .bgimg-1 
        background-image: url("pic4ghostMOBILE.png");
        min-height: 100%;
    


    .bgimg-2 
        background-image: url("radioMOBILE.png");
        min-height: 400px;
    


@media only screen and (min-device-width: 320px) and (max-device-width: 480px)

   .bgimg-1, .bgimg-2 
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    


    .bgimg-1 
        background-image: url("pic4ghostsmartphone.png");
    

    .bgimg-2 
        background-image: url("radiosmartphone.png");
    

【问题讨论】:

链接到本站所在位置:mywebdesignstudio.net/danielleb_KKC 【参考方案1】:

使用这个并删除所有其他代码

.bgimg-1 
background:url("pic4ghost.png") no-repeat center center fixed;
background-size:cover;

删除所有其他类和媒体查询

【讨论】:

我删除了所有媒体查询。我什至删除了 background-attachment: fixed 属性无济于事。这是网站所在位置的链接: 我删除了所有媒体查询。我什至删除了 background-attachment: fixed 属性无济于事。这是该站点所在位置的链接:mywebdesignstudio.net/danielleb_KKC(我放回了背景附件:已修复)如果您在 iPhone 5 上查看它,照片太大了。这适用于台式机、笔记本电脑和平板电脑,但不适用于手机。因此,媒体查询换出照片以查看它是否有效。随意查看整个代码的页面源代码。【参考方案2】:

您是否尝试过使用background-size: 属性?

这是一个代码示例。请注意,第一个声明的背景将位于其余部分之上。

// Gradient, image and flat color as a fallback;
.bgimg-1 

background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)), url("paper.gif"), black;
background-size: auto, cover, auto;

我使用的是标准语法,因为 CSS3 是这几天的普遍做法,如果您有向后兼容的需求,请查看 [caniuse.com]

【讨论】:

我试过自动,100% 甚至包含。由于某种原因,它似乎忽略了我所做的一切。我按照某人的建议删除了媒体查询。我使用了 W3 Schools 方法来实现伪视差滚动效果。

以上是关于完整的背景图像在 iPhone 5 上的放大效果不佳的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 相机图像上的 3D 模型。透明背景?

仅为 iOS 设备加载 JS 脚本?

横屏模式下 iOS 5 iPad 上的导航栏背景图像

UWP - 背景图像上的淡入效果

适合放大 iPhone 上的地图

iPhone浏览器上的背景不重复