Dan*_*ela 4 html css css-animations
我注意到Pinterest 上的这种效果很好。
背景图像垂直滚动,给人一种它比视口大的感觉。我尝试玩 CSS 没有运气。
HTML
<div class="out">
<div class="inner">hello</div>
</div>
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
的一个或两个背景伪构件<body>是position: fixed具有高度和宽度的百分比。
要在背景上方显示元素,请使用以下命令:
element-to-show-above {
position: relative;
z-index: 1;
}
Run Code Online (Sandbox Code Playgroud)
对于包含大量内容的页面,将上述属性应用于包含所有元素的包装器是有意义的。
“显示代码片段”并运行它以查看演示。
一个伪元素的高度是视口高度和宽度的 200%
背景滑动到 -50% 并使用forwards选项暂停
注意: Safari 当前需要-webkit-transform 属性的前缀。
element-to-show-above {
position: relative;
z-index: 1;
}
Run Code Online (Sandbox Code Playgroud)
第一个从 0 开始并滑到 -100%。
第二个从 100% 开始,然后滑到 0。
它们一起形成了一个持续运动的错觉,不需要额外的 HTML!
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%);
}
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |