我正在开发一个视差/滚动时间轴项目,并且我遇到了 CSS3 背景大小封面属性的问题。
div 具有以下属性:
background: url(../images/timeline/back-6.jpg) no-repeat top center black;
background-size: cover;
padding-top: 90px;
height: 1855px;
position: relative;
Run Code Online (Sandbox Code Playgroud)
使用 jQuery,我将后台附件切换为固定。当我这样做时,背景图像会“跳入”(这意味着超出屏幕边缘的图像部分现在可见)。这不是想要的结果。
在测试中,我可以将 div 切换为使用背景大小:100% 覆盖,但它在滚动时会导致不同的垂直跳跃问题。
当我将背景切换为固定时,有什么想法可以防止它跳出来吗?(当我将背景设置为滚动时,也会发生相反的情况)。
遗憾的是,我无法链接到此代码的演示,因为该页面尚未准备好部署。
background-size当设置为cover或时我遇到了同样的问题contain
设置固定高度(例如对于较小的屏幕)@media可防止背景图像跳跃。经过测试,我得出的结论是,跳跃是由于设置为后元素的方向造成background-attachment的fixed
将其设置为 时fixed,size是根据视口的大小计算的,而不是包含 的元素background-image。这就是跳跃的来源以及为什么设置固定的高度或宽度来background-size解决这个问题。