Skip to content

准星

Crosshair 一个全屏的鼠标跟随组件,会在屏幕上绘制垂直和水平的交叉线,并显示当前的坐标值。

免责声明与致谢 本组件主要用于演示、装饰或特定的视觉效果场景,无实际业务功能用途

  • 灵感来源: 本组件的设计与概念参考了 Vue Data UI 中的同类组件。
  • 开发说明: 本组件代码逻辑由 AI 辅助生成。

基础用法

TuiCrosshair 通常直接放置在页面根节点或全屏容器中。默认情况下,它会显示一个圆角的矩形瞄准框,并实时显示鼠标的 X/Y 坐标。

vue
<template>
  <div style="height: 100vh; position: relative;">
    <TuiCrosshair />
  </div>
</template>

视觉定制

组件提供了丰富的属性来调整准星的外观,包括线条粗细、透明度以及中心瞄准区域的形状。

瞄准框形状 (Scope Shape)

通过 scopeShape 属性切换中心区域的形状:

  • rect: 圆角矩形 (默认)
  • circle: 圆形

线条样式

  • lineStroke: 控制十字线的粗细。
  • lineOpacity: 控制十字线的透明度。
vue
<template>
  <TuiCrosshair 
    scopeShape="circle" 
    :lineStroke="0.1" 
    :lineOpacity="0.5"
    :crosshairRadius="60"
  />
</template>

功能配置

坐标显示 (Coordinates)

通过 coordinates 属性控制是否显示鼠标当前的 X/Y 坐标数值。

瞄准点模式 (Aiming Point)

aimingPoint 属性控制中心点的对齐或渲染逻辑:

  • center: 标准居中模式。
  • side: 侧边偏移模式。
vue
<template>
  <TuiCrosshair :coordinates="false" />
</template>

API 参考

Props

属性名说明类型可选值默认值
crosshairRadius中心瞄准区域的半径/大小 (px)Number40
lineStroke十字线条的粗细 (px)Number0.2
lineOpacity十字线条的透明度 (0-1)Number1
scopeShape中心瞄准框的形状String'rect', 'circle''rect'
aimingPoint瞄准点的对齐模式String'center', 'side''center'
coordinates是否显示实时坐标数值Booleantrue