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