当cursor 是 CSS 中非常实用的属性之一,它用来设置鼠标指针悬停在元素上时的样式。它不会影响元素行为,只是改变了用户体验中的“鼠标样式反馈”。




🔍 基本语法

selector {cursor: value;
}


  • value
  • 可以使用标准名称,也可以使用自定义图片(url(...))作为鼠标指针。




🧠 常见的鼠标样式类型(重点常用)

效果

用途说明

default

默认箭头指针

普通状态(大多数元素默认值)

pointer

手形(☝️)

可点击的元素,如按钮、链接

text

文本光标(I形)

表示该区域可输入文字,如 input、textarea

move

移动十字箭头

表示该区域可拖动

grab / grabbing

抓手 / 抓住

用于可拖拽的元素,交互感更强

not-allowed

🚫 禁止符号

用于禁用按钮或区域

wait

沙漏 / loading 圈

表示加载中、请稍候

help

问号指针

表示该区域有帮助信息

crosshair

十字瞄准线

图形编辑类应用中常见

progress

指针+loading圈

表示正在处理,但仍可交互




💡 示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8" /><title>Cursor 示例</title><style>.btn {padding: 10px 20px;background-color: skyblue;cursor: pointer;}.disabled {background-color: #ccc;cursor: not-allowed;}.text-area {border: 1px solid #ccc;padding: 10px;cursor: text;}.drag {background: lightgreen;padding: 20px;cursor: grab;}.help {color: blue;cursor: help;}</style>
</head>
<body><button class="btn">点击我</button><button class="disabled">不可点击</button><div class="text-area">点击我试试,你的光标会变成文本插入样式</div><div class="drag">拖我试试(视觉上)</div><div class="help">鼠标悬停显示帮助样式</div></body>
</html>




🔧 自定义鼠标样式(自定义图片)


你还可以用图片来设置指针样式,配合 url(...):

.custom-cursor {cursor: url('cursor.png'), auto;
}


  • 第一个参数是你自定义的鼠标图片路径
  • 第二个参数是“备选值”,图片加载失败时使用


📌 注意:图片推荐使用 .cur 或 .png 格式,且尺寸建议为 32x32 或以下




🧪 鼠标样式+行为示例场景

场景

推荐 cursor 值

链接 / 按钮

pointer

禁用按钮

not-allowed

文本框

text

拖拽卡片

grab / grabbing

图片裁剪工具

crosshair

自定义加载区域

wait / progress




✅ 最佳实践建议


  • 增强用户体验:通过 cursor 提供操作反馈,比如 hover 状态改为 pointer。
  • 保持一致性:避免过度使用非常规光标(用户可能不懂)。
  • 不要滥用:例如不要对不可点击元素设置 pointer,容易误导用户。