html代码:
<div class="g-scroll" id="g-scroll"></div>
<div class="g-wrapper">
<div class="g-mask"></div>
<div class="g-inner">
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
<div class="g-item">Lorem ipsum dolor sit amet consectetur adipisicing elit.</div>
</div>
</div>
css3代码:
@property --phase {
syntax: '';
inherits: false;
initial-value: 15px;
}
html, body {
width: 100%;
height: 100%;
display: flex;
}
.g-scroll {
width: 100%;
height: 1000vh;
position: relative;
}
.g-wrapper {
position: fixed;
top: -20%;
width: 100vw;
height: 100vh;
perspective: 200px;
transform-style: preserve-3d;
}
.g-mask {
position: fixed;
width: 100vw;
height: 120vh;
backdrop-filter: blur(5px);
transform: translateZ(0);
}
.g-inner {
position: relative;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 10px;
transform-style: preserve-3d;
transform: translateY(calc(-50% + 100px)) translateZ(var(--phase)) rotateX(90deg);
transform-origin: bottom center;
animation-name: move;
animation-duration: 1s;
animation-timeline: box-move;
}
@scroll-timeline box-move {
source: selector("#g-scroll");
orientation: "vertical";
}
.g-item {
width: 300px;
height: 200px;
padding: 8px;
box-sizing: border-box;
color: #fff;
background: #000;
transform: rotateX(-90deg);
}
@keyframes move {
0% {
--phase: 0;
}
100% {
--phase: calc(100vh + 100px);
}
}
以上是编程学习网小编为您介绍的“css3利用视差实现做一个酷炫交互动效”的全面内容,想了解更多关于 前端知识 内容,请继续关注编程基础学习网。
织梦狗教程
本文标题为:css3利用视差实现做一个酷炫交互动效


基础教程推荐
猜你喜欢
- django ajax提交评论并自动刷新功能的实现代码 2023-02-13
- JQuery实现鼠标滑过显示导航下拉列表 2024-01-24
- IE6 float:left margin-left出现两倍像素 2024-01-24
- ul结合CSS制作网页相册滑动浏览效果 2024-01-23
- CSS解决未知高度的垂直水平居中自适应问题 2023-12-29
- AngularJs Using $location详解及示例代码 2024-01-08
- CSS实现footer“吸底”效果 2023-12-11
- HTML基础详解(上) 2022-09-21
- threejs后期处理的基本使用方法之加特效 2023-12-21
- jQuery Tools tab(幻灯片) 2024-01-08