我是靠谱客的博主 顺心期待,这篇文章主要介绍css 解决ios设备固定背景图的显示问题。background-attachment: fixed在iphone设备上失效;,现在分享给大家,希望可以做个参考。

 设置背景图固定,滚动内容时背景图不滚动。在android上是没有问题的,但是ios上就是会被内容挤出去,滚动的时候背景图变形。通过background-attachment: fixed;和定位的方法实现或还是会出现图片变形,或者盒子被撑大。

iphone失效相关原因:固定背景导致重绘的成本很高,并且滚动表现也不尽人意,所以在一些移动端是被禁止的。

背景图如果直接写死是没有问题的,动态绑定添加的就有问题。

最终采用动态添加::before伪元素样式实现图片的固定布局。

效果图:

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        html,body{
            margin:0;
            padding:0;
        }
        .bg:before {
            content: ' ';
            position: fixed;
            z-index: -1;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background-size: cover;
        }

    </style>
</head>
<body>
    <!-- <div class="bg"></div> -->
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
    <div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div><div>1212</div>
</body>
</html>
<script src="./jquery.3.2.1.min.js"></script>
<script>
setTimeout(()=>{
    $('.bg').append("<style>.bg:before{background-image: url(https://img0shdi28hu1.sunuping.com/upload/png/20221031142628/1586967823786594306.png);}</style>");
},500);
</script>

最后

以上就是顺心期待最近收集整理的关于css 解决ios设备固定背景图的显示问题。background-attachment: fixed在iphone设备上失效;的全部内容,更多相关css内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部