gpt4 book ai didi

html - 垂直滑动 CSS 背景图片

转载 作者:搜寻专家 更新时间:2023-10-31 08:17:55 25 4
gpt4 key购买 nike

我注意到了 this nice effect on Pinterest .

背景图像垂直滚动,给人一种比视口(viewport)大的感觉。我尝试使用 CSS,但没有成功。

HTML

<div class="out">
<div class="inner">hello</div>
</div>

CSS

@keyframes scrollBgGridLinks {
0% {
transform: translateY(0px);
}
100% {
transform: translateY(-330px);
}
}
.inner {
animation: 35s linear 0s normal forwards 1 scrollBgGridLinks;
background-color: red;
position: absolute;
clip:rect(0px, 50px, 50px, 0px);
width:200px;
}
.out {
height:200px;
}

最佳答案

伪元素滑动背景

<body> 的一个或两个背景伪元素那是position: fixed具有高度和宽度百分比。

要在背景上方显示元素,请使用:

element-to-show-above {
position: relative;
z-index: 1;
}

对于包含大量内容的页面,将上述属性应用于包含所有元素的包装器是有意义的。

两个例子

“显示代码片段”并运行它以查看演示。

#1 - 缓慢过渡到顶部并暂停

  • 一个伪元素的高度是视口(viewport)高度和宽度的200%

  • 背景滑动到 -50% 并以 forwards 暂停选项

注意: Safari currently requires -webkit-转换属性的前缀。

body {
margin: 0;
}
body:before {
content: '';
display: block;
-webkit-animation: 80s bg linear forwards;
animation: 80s bg linear forwards;
background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat;
background-size: 100% 100%;
position: fixed;
height: 300%;
width: 200%;
top: 0;
left: 0;
}
@-webkit-keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
}
@keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
}

#2 - 永无止境的背景幻灯片

  1. 第一个从 0 开始,滑到 -100%。

  2. 第二个从 100% 开始,然后滑到 0。

它们一起形成了一个持续运动的错觉,不需要额外的 HTML!

body {
margin: 0;
}
body:before {
content: '';
display: block;
-webkit-animation: 5s bg linear infinite;
animation: 5s bg linear infinite;
background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat;
background-size: 100% 100%;
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
}
body:after {
content: '';
display: block;
-webkit-animation: 5s bg2 linear infinite;
animation: 5s bg2 linear infinite;
background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat;
background-size: 100% 100%;
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
}
@-webkit-keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@-webkit-keyframes bg2 {
0% {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
100% {
-webkit-transform: translateY(0%);
transform: translateY(0%);
}
}
@keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@keyframes bg2 {
0% {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
100% {
-webkit-transform: translateY(0%);
transform: translateY(0%);
}
}

关于html - 垂直滑动 CSS 背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26429284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com