div+js通过startViewTransition模拟页面跳转过渡堆叠动画效果代码
代码语言:html
所属分类:其他
代码描述:div+js通过startViewTransition模拟页面跳转过渡堆叠动画效果代码,实现页面之间的跳转动画。
代码标签: div js startViewTransition 模拟 页面 跳转 过渡 堆叠 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
@keyframes shrink {
to {
scale: 0.8;
opacity: 0.5;
}
}
@keyframes grow {
from {
scale: 0.8;
opacity: 0.5;
}
}
@keyframes slide-in {
from {
translate: 100vw 0;
}
}
@keyframes slide-out {
to {
translate: 100vw 0;
}
}
::view-transition {
background: black;
}
:root {
view-transition-name: none;
}
body {
view-transition-name: page;
}
::view-transition-group(page) {
animation-duration: 0.7s;
}
:root[data-transition="push"] {
&::view-transition-old(page) {
&::view-transition-old(page) {
animation-name: shrink;
transform-origin: 100% 50%;
}
}
&::view-transition-new(page) {
animation-name: slide-in;
}
}
:root[data-transition="pop"] {
&::view-transition-old(page) {
animation-name: slide-out;
z-index: 1;
}
&::view-transition-new(page) {
animation-name: grow;
transform-origin: 100% 50%;
}
}
@layer reset {
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
ul[class] {
list-style: none;
}
img {
display: inline-block;
}
h1 {
margin-bottom: 0.5em;
}
}
@layer layout {
@layer general {
html {
background: white;
}
html,
body {
height: 100%;
}
body {
background: white;
font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
}
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0