Html 修复了背景附件和背景大小的镀铬盖重新喷漆错误
我有以下几点意见:Html 修复了背景附件和背景大小的镀铬盖重新喷漆错误,html,css,google-chrome,Html,Css,Google Chrome,我有以下几点意见: background-image url('../images/belly.png') background-position 50% 50% background-repeat no-repeat background-attachment fixed background-size cover 和位置的底层元素:固定 若我滚动页面背景并没有重新绘制。问题出现在Chrome中。有解决办法吗 演示: 视频:我注意到了确保页面背景保持固定的最佳方法:使用以下CSS规则将其作
background-image url('../images/belly.png')
background-position 50% 50%
background-repeat no-repeat
background-attachment fixed
background-size cover
和位置的底层元素:固定代码>
若我滚动页面背景并没有重新绘制。问题出现在Chrome中。有解决办法吗
演示:
视频:我注意到了确保页面背景保持固定的最佳方法:使用以下CSS规则将其作为身体第一个子代的背景图像:
.background-holder {
position: fixed;
width: 100%;
height: 100%;
display: block;
z-index: -10;
background-image: url(//link-to-image);
background-size: cover;
}
以下是页面结构:
<html>
<head>
</head>
<body>
<div class="background-holder"></div>
<div class="main-container">
<!-- content goes here -->
</div>
</body>
</html>
我注意到了确保页面背景保持固定的最佳方法:使用以下CSS规则将其作为正文的空第一个子项的背景图像:
.background-holder {
position: fixed;
width: 100%;
height: 100%;
display: block;
z-index: -10;
background-image: url(//link-to-image);
background-size: cover;
}
以下是页面结构:
<html>
<head>
</head>
<body>
<div class="background-holder"></div>
<div class="main-container">
<!-- content goes here -->
</div>
</body>
</html>
我遇到了与您相同的问题,并为此挣扎了近3天。但截至2020年6月,在@tao的答案的基础上,我发现了一个可靠的解决方案,它适用于所有设备,并且具有100%的浏览器兼容性。它允许在页面的任何位置产生所需的效果,而不仅仅是页面的顶部或底部,并且您可以根据需要或想要创建任意数量的页面
唯一已知的问题是safari。浏览器会在每次滚动时重新绘制整个图像,因此会给图形带来沉重负担,而且大多数情况下会使图像上下闪烁约10px。这个问题确实没有解决办法,但我认为也没有更好的回答
我希望这对你有用。你可以现场查看结果,我有三张不同的固定背景图片
主体,.black{
宽度:100%;
高度:200px;
背景:黑色;
}
.e-with-fixed-bg{
宽度:100%;
高度:300px;
/*重要的*/
位置:相对位置;
}
.bg包裹{
剪辑:rect(0,自动,自动,0);
位置:绝对位置;
排名:0;
左:0;
宽度:100%;
身高:100%;
}
.bg{
位置:固定;
显示:块;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景尺寸:封面;
背景位置:中心;
背景图片:url(https://images.pexels.com/photos/949587/pexels-photo-949587.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500);
变换:translateZ(0);
改变:转变;
}
·电子集装箱{
z指数:1;
颜色:白色;
背景:透明;
}
这很管用
我遇到了与您相同的问题,并为此挣扎了近3天。但截至2020年6月,在@tao的答案的基础上,我发现了一个可靠的解决方案,它适用于所有设备,并且具有100%的浏览器兼容性。它允许在页面的任何位置产生所需的效果,而不仅仅是页面的顶部或底部,并且您可以根据需要或想要创建任意数量的页面
唯一已知的问题是safari。浏览器会在每次滚动时重新绘制整个图像,因此会给图形带来沉重负担,而且大多数情况下会使图像上下闪烁约10px。这个问题确实没有解决办法,但我认为也没有更好的回答
我希望这对你有用。你可以现场查看结果,我有三张不同的固定背景图片
主体,.black{
宽度:100%;
高度:200px;
背景:黑色;
}
.e-with-fixed-bg{
宽度:100%;
高度:300px;
/*重要的*/
位置:相对位置;
}
.bg包裹{
剪辑:rect(0,自动,自动,0);
位置:绝对位置;
排名:0;
左:0;
宽度:100%;
身高:100%;
}
.bg{
位置:固定;
显示:块;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景尺寸:封面;
背景位置:中心;
背景图片:url(https://images.pexels.com/photos/949587/pexels-photo-949587.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500);
变换:translateZ(0);
改变:转变;
}
·电子集装箱{
z指数:1;
颜色:白色;
背景:透明;
}
这很管用
AFAIK:chrome触发滚动事件的速度不如FF和IE快。重新绘制与滚动事件的关系如何?有解决办法吗?你试过重新启动你的Chrome吗?我已经测试过了,背景是固定的,应该是这样的;宽度:100%;身高:100%;显示:块;z指数:-10;背景图像:url(//您的图像);背景尺寸:封面代码>。它将永远不会移动。请看这和AFAIK:chrome不会像FF和IE那样快速触发滚动事件。重新绘制与滚动事件有何关联?有解决办法吗?你试过重新启动你的Chrome吗?我已经测试过了,背景是固定的,应该是这样的;宽度:100%;身高:100%;显示:块;z指数:-10;背景图像:url(//您的图像);背景尺寸:封面代码>。它永远不会移动。看看这个和