我是靠谱客的博主 顺心期待,这篇文章主要介绍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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复