Skip to content

视觉效果总览

除了交互组件(音乐球、彩纸、光效),主题还内置了以下视觉增强效果。

代码块红绿灯

在代码块左上角添加 macOS 风格的红黄绿三色灯装饰。

  • 红灯 (::after)、黄灯 (code::before)、绿灯 (code::after)
  • 自动适配有行号和无行号两种布局

效果: 所有代码块顶部左侧出现三个小圆点,模拟 macOS 窗口控制按钮。

暗色模式彩虹边框

暗色模式下,代码块 hover 时展示旋转的彩虹边框。

  • 使用 conic-gradient 实现多色渐变
  • @property --anix 注册自定义属性驱动旋转动画
  • animation: rotatingx 2s linear infinite reverse 匀速旋转
  • hover 时边框从透明渐变为彩虹色

标题彩色下划线

h1-h4 标题各有不同颜色的下划线装饰:

标题亮色暗色
h1#45abff自动变暗
h2#a29bdb自动变暗
h3#8eb78b 绿自动变暗
h4#f3bad6自动变暗

暗色模式使用 hsl(from ... h s calc(l * 0.5)) 自动计算较暗的变体。

样式属性:

  • 线宽:0.6em
  • 样式:solid
  • 偏移:-0.4em
  • text-decoration-skip-ink: none

自定义滚动条

亮色和暗色模式下均使用自定义滚动条样式:

亮色:

  • 轨道:#f6f6f7,圆角
  • 滑块:#c1c1c1,圆角,2px 白色边框

暗色:

  • 轨道:#161618
  • 滑块:#2b2b2b

主题切换动画

使用 View Transition API 实现亮暗模式切换时的圆形扩散动画。

  • 从切换按钮位置开始扩散
  • 切换到暗色时:新内容(暗色)从按钮位置扩散覆盖
  • 切换到亮色时:旧内容(暗色)从按钮位置收缩消失

实现方式:

  • 通过 provide('toggle-appearance', ...) 覆盖默认切换行为
  • 使用 document.startViewTransition() API
  • ::view-transition-old(root)::view-transition-new(root) 控制动画层级

Hero 渐变

首页标题使用紫蓝渐变:

css
--vp-home-hero-name-background: linear-gradient(120deg, #bd34fe, #41d1ff);

Hero 图片背景使用 45° 双色背景:

css
--vp-home-hero-image-background-image: -webkit-linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);

暗色模式下 Hero 图片有 blur 呼吸动画。

在MIT许可下发布    备案号: 晋ICP备2024051569号-1