Skip to content

Typing 打字效果

赛博朋克风格的打字机效果文字组件,通过 JS 驱动实现真正的逐字打字动画,支持循环、调速、自定义光标等。

基本用法

通过 text 属性传入文字内容,组件会自动逐字显示。

vue
<template>
  <cyber-typing text="这是一个打字效果的文字" />
</template>

调速与延迟

通过 speed 控制打字速度(毫秒/每字),delay 控制开始前的等待时间。


vue
<template>
  <!-- 快速打字:40ms/字 -->
  <cyber-typing text="快速打字效果" :speed="40" />

  <!-- 慢速打字:200ms/字,延迟1秒开始 -->
  <cyber-typing text="慢速打字效果" :speed="200" :delay="1000" />
</template>

循环打字

设置 loop 属性可以让文字在打完一遍后自动擦除并重新打。

vue
<template>
  <cyber-typing text="循环打字效果展示..." :loop="true" :speed="60" />
</template>

隐藏光标

设置 :cursor="false" 可以隐藏光标,cursor-color 自定义光标颜色。


vue
<template>
  <cyber-typing text="无光标打字" :cursor="false" />
  <cyber-typing text="红色光标" cursor-color="#ef4444" />
</template>

代码片段展示

等宽字体 + 打字效果,非常适合展示命令行和代码。


vue
<template>
  <cyber-typing text="> npm install cyberpunk-ui" :speed="40" />
  <cyber-typing text="> pnpm run dev" :speed="40" :delay="1500" />
</template>

属性

属性类型默认值说明
textstring''要打印的文字内容
speednumber80打字速度,单位 ms/字
delaynumber500开始打字前的延迟,单位 ms
loopbooleanfalse是否循环打字
loop-delaynumber2000循环模式下,打完到开始擦除的等待时间
cursorbooleantrue是否显示光标
cursor-colorstring#00e6f6光标颜色

事件

事件名说明
finish每次打字完成时触发(循环模式下每次打完都会触发)

使用建议

  • 适合展示命令行输出、代码片段、终端文本
  • 建议配合深色背景使用以获得最佳视觉效果
  • 通过 speed 控制打字节奏,终端风格建议 40-60ms
  • loop 模式适合展示多词条轮播,常用于 Banner 区域

Relcased under the Mit Lincense.