将 CSS 背景图片拟合到 IOS

Fitting CSS background image to IOS

我真的需要一些帮助。

我有一个 2000x1000 图像 png 文件用作网站的背景。它在桌面上运行良好。在我的 iphone 上查看时,只显示图像的左侧 1/3,并且两个图像相互堆叠。我试过使用 background-size: auto100%,以及 background-attachment:scroll 都无济于事。我已经从较大的图像创建了一个适当的宽高比图像并使用了媒体查询,但它仍然非常奇怪。你可以在这里找到我当前的媒体,它应该检测分辨率是否 < 415px 以将大小更改为最大,但这不起作用。理想情况下,我希望背景居中居中,保持其纵横比并占据整个 window 高度。这是我的 CSS。谢谢。

    *
{
    margin: 0;
    padding: 0;

}

.email
{
    color:black;
    font-size: 25px;
    position: fixed;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
}

body
{
    background: black;
    background-image: url("images/Mountains.png");
}
  
.html
{
    width: 100%;
    height: 100%;
}

.github
{
    position: fixed;
    top: 37%;
    left: 41%;
    transform: translate(-50%, -50%);
}

#items 
{
    transition: margin-left .5s;
    padding: 20px;
}

.link_in
{
    position: fixed;
    top: 37%;
    left: 59%;
    transform: translate(-50%, -50%);
}

.loc
{
    color:black;
    position: fixed;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media screen and (max-height: 450px) 
{
    .sidenav {padding-top: 15px;}
    .sidenav a {font-size: 18px;}
} 

@media screen and (max-width: 415px) 
{
    body
    {
        background-color: black;
        background-size: 100% 100%;
        position: fixed; 
        top: 0; 
        left: 0; 
        bottom: 0;
        /* Preserve aspect ratio */
        min-width: 100%;
        min-height: 100%;
    }
}

@media screen and (max-width: 1100px) 
{
    .github {
        position: fixed;
        top: 37%;
        left: 31%;
        transform: translate(-50%, -50%);
    }

    .link_in
    {
        position: fixed;
        top: 37%;
        left: 69%;
        transform: translate(-50%, -50%);
    }
}

.sidenav 
{
    height: 100%; 
    width: 0; 
    position: fixed; 
    z-index: 1;
    top: 0; 
    left: 0;
    background-color: #111;
    overflow-x: hidden; 
    padding-top: 60px;
    transition: 0.5s; 
}

.sidenav a 
{
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s;
}

.sidenav a:hover 
{
    color: #f1f1f1;
}

.sidenav .close 
{
    font-size: 36px;
    position: absolute;
    top: 0;
    right: 25px;
    margin-left: 50px;
}

.thanks
{
    color:black;
    position: fixed;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.under_construction
{
    position: fixed;
    top: 37%;
    left: 50%;
    transform: translate(-50%, -50%);
}

我认为您正在尝试保持背景图像固定和响应。您可以保持大小以覆盖,因此它会调整背景图像的大小以覆盖整个容器,即使它必须拉伸图像或从边缘切掉一点。然后你可以将位置设置为中心,所以如果它拉伸它会显示图像的中心部分。并保持附件固定,因此当您滚动时背景图像是固定的。

    background-size: cover;
    background-position:center ;
    background-attachment: fixed;