当前位置: 首页 > article >正文

CSS3视图过渡动画

概述

网站的主题切换无非就是文字、背景图片或者颜色,我们可以先来看下 Element UI 官网的切换主题的动效:
在这里插入图片描述
PS:Antdesign UI的主题切换动画也是大同小异。

实现的两种方式

CSS 为主

<script setup>
const changeTheme = (e) => {
  if (document.startViewTransition) {
    document.startViewTransition(() => {
      document.documentElement.classList.toggle("dark");
    });
  } else {
    document.documentElement.classList.toggle("dark");
  }
};

onMounted(() => {
  const target = document.querySelector(".target1");
  const { x, y } = target.getBoundingClientRect();
  document.documentElement.style.setProperty("--x", x + "px");
  document.documentElement.style.setProperty("--y", y + "px");
});
</script>
<style>
::view-transition-old(root) {
  animation: none;
}
::view-transition-new(root) {
  mix-blend-mode: normal;
  animation: clip 1s ease-in;
}

@keyframes clip {
  from {
    clip-path: circle(0% at var(--x) var(--y));
  }
  to {
    clip-path: circle(100% at var(--x) var(--y));
  }
}
</style>

<


http://www.kler.cn/a/281039.html

相关文章:

  • Rust: Filesystems and Command-Line Tools
  • 基于数据挖掘的心力衰竭疾病风险评估系统
  • 数据结构(邓俊辉)学习笔记】串 09——BM_BC算法:以终为始
  • ActiveMQ指南
  • window11彻底关闭Microsoft Defender
  • k8s Failed to delete cgroup paths
  • Debian常用包管理命令用法详解
  • [M链表] lc142. 环形链表 II(快慢指针+数学推导+基础题)
  • 网络安全新视角:人工智能在防御中的最新应用
  • 安卓13去掉权限动态申请,默认授权,不用动态申请权限
  • 游戏发行技术体系框架图
  • 小程序全局本地存储和读取数据
  • 学习笔记——后端项目中的相关技术 【随时更新】
  • 【Rust光年纪】深度解读:Rust语言中各类消息队列客户端库详细对比
  • XtQuant接口概述,想用miniQMT做量化哪家券商支持?
  • 2024最新最全面的JMeter 做接口加密测试
  • 海康二次开发学习笔记5-二次开发小技巧
  • JavaScript学习文档(9):事件流、事件委托、其他事件、元素尺寸与位置
  • 【GPT教我学】字节对象和字符对象
  • Java 使用ListUtils对List分页处理