关于CSS cursor(鼠标样式)

在浏览网页的过程中,当我们将鼠标移动到某些元素上时,鼠标的样式会随之改变。比如鼠标指向文字,鼠标的样式会变成像大写字母I;当鼠标指向链接时,鼠标会变成小手的形状等。

除了这些默认的变化外,您还可以通过 CSS 中的 cursor 属性来改变网页中鼠标(光标)的样式,下表中列举了 cursor 属性的可选值:

属性值 示意图 描述
auto   默认值,由浏览器根据当前上下文确定要显示的光标样式
default 150S0N27-0 默认光标,不考虑上下文,通常是一个箭头
none   不显示光标
initial   将此属性设置为其默认值
inherit   从父元素基础 cursor 属性的值
context-menu 150S052A-1-1 表示上下文菜单可用
help 150S05W2-2 表示有帮助
pointer 150S045S-3 表示一个链接
progress 150S04130-4 进度指示器,表示程序正在执行一些处理,但是您仍然可以在该界面进行一些操作(与 wait 不同)
wait 150S01548-5 表示程序繁忙,您应该等待程序指向完成
cell 150S050C-6 表示可以选择一个单元格(或一组单元格)
crosshair 150S03P6-7-1 一个简单的十字准线
text 150S0O53-8 表示可以选择的文本
vertical-text 150S03J2-9 表示可以选择的垂直文本
alias 150S031L-10 表示要创建别名或快捷方式
copy 150S032P-11 表示可以复制某些内容
move 150S06019-12 表示可以移动鼠标下方的对象
no-drop 150S04022-13 表示所拖动的项目不能放置在当前位置
not-allowed 150S01915-14 表示无法完成某事
all-scroll 150S03556-15 表示对象可以沿任何方向滚动(平移)
col-resize 150S02507-16 表示可以水平调整列的大小
row-resize 150S03460-17 表示可以垂直调整行的大小
n-resize 150S0B57-18 表示对象的边缘可以向上(向北)移动
e-resize 150S05555-19 表示对象的边缘可以向右(向东)移动
s-resize 150S023U-20 表示对象的边缘可以向下(向南)移动
w-resize 150S05b3-21 表示对象的边缘可以向左(向西)移动
ne-resize 150S064O-22 表示对象的边缘可以向上和向右(北/东)移动
nw-resize 150S01250-23 表示对象的边缘可以向上和向左(北/西)移动
se-resize 150S01212-24 表示对象的边缘可以向下和向右(向南/向东)移动
sw-resize 150S04439-25 表示对象的边缘可以向下和向左(南/西)移动
ew-resize 150S033E-26 表示可以双向调整对象大小的光标
ns-resize 150S05346-27
nesw-resize 150S044L-28
nwse-resize 150S033B-29
zoom-in 150S05K0-30 表示可以放大某些内容
zoom-out 150S05118-31 表示可以缩小某些内容
grab 150S03b0-32 表示可以抓取(拖动)某些东西
grabbing 150S05K4-33 表示已经抓取到某些东西
url(“”)    自定义光标的样式,括号中的内容为光标图像的源文件路径

  提示:由于计算机系统的不同,鼠标的样式会存在一定的差异。

【示例】使用 cursor 属性设置网页中光标的样式:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. div {
  6. height: 30px;
  7. border: 1px solid green;
  8. margin-top: 10px;
  9. }
  10. .cell {
  11. cursor: cell;
  12. }
  13. .crosshair {
  14. cursor: crosshair;
  15. }
  16. .text {
  17. cursor: text;
  18. }
  19. .vertical-text {
  20. cursor: vertical-text;
  21. }
  22. .alias {
  23. cursor: alias;
  24. }
  25. .copy {
  26. cursor: copy;
  27. }
  28. .move {
  29. cursor: move;
  30. }
  31. .no-drop {
  32. cursor: no-drop;
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <div class=“cell”>cursor: cell;</div>
  38. <div class=“crosshair”>cursor: crosshair;</div>
  39. <div class=“text”>cursor: text;</div>
  40. <div class=“vertical-text”>cursor: vertical-text;</div>
  41. <div class=“alias”>cursor: alias;</div>
  42. <div class=“copy”>cursor: copy;</div>
  43. <div class=“move”>cursor: move;</div>
  44. <div class=“no-drop”>cursor: no-drop;</div>
  45. </body>
  46. </html>

运行上面的代码,然后将鼠标指向不同的 HTML 元素,可以发现当指向不同的元素时鼠标的样式也会发生相应的改变。

自定义光标样式

除了可以使用上表中介绍的光标样式外,您也可以使用图像文件来自定义光标的样式,如下所示:

cursor: url(“custom.gif”), url(“custom.cur”), default;

您可以使用 url() 定义多个光标的样式文件,每个 url() 之间使用逗号,分隔,上面示例中 custom.gif、custom.cur 就是自定义的光标文件。需要注意的是,在自定义光标样式时,要在最后定义一个上表中的通用光标样式,防止使用 url() 中定义的光标图像资源失效。

提示:.cur 格式是光标文件的标准格式,您可以使用一些在线工具(例如 https://convertio.co/zh/cur-converter/)将 .jpg、.gif 等格式的图像文件转换为 .cur 格式。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片