cursor
**cursor
** CSS 属性设置鼠标指针在元素上时显示的鼠标光标(如果有)。
光标设置应告知用户在当前位置可以执行的鼠标操作,包括:文本选择、激活帮助或上下文菜单、复制内容、调整表格大小等。可以使用关键字指定光标的 *类型*,或者加载要使用的特定图标(带有可选的备用图像和必需的关键字作为最终备用)。
试试看
语法
/* Keyword value */
cursor: auto;
cursor: pointer;
/* … */
cursor: zoom-out;
/* URL with mandatory keyword fallback */
cursor: url(hand.cur), pointer;
/* URL and coordinates, with mandatory keyword fallback */
cursor:
url(cursor_1.png) 4 12,
auto;
cursor:
url(cursor_2.png) 2 2,
pointer;
/* URLs and fallback URLs (some with coordinates), with mandatory keyword fallback */
cursor:
url(cursor_1.svg) 4 5,
url(cursor_2.svg),
/* …, */ url(cursor_n.cur) 5 5,
progress;
/* Global values */
cursor: inherit;
cursor: initial;
cursor: revert;
cursor: revert-layer;
cursor: unset;
cursor
属性被指定为零个或多个 <url>
值,用逗号隔开,后面跟着一个必需的关键字值。每个 <url>
应该指向一个图像文件。浏览器将尝试加载第一个指定的图像,如果无法加载,则回退到下一个图像,如果无法加载任何图像(或没有指定任何图像),则回退到关键字值。
每个 <url>
之后可以可选地跟一对用空格分隔的数字,这些数字设置光标热点相对于图像左上角的 <x>
和 <y>
坐标。
值
<url>
可选-
一个
url()
或一个用逗号分隔的列表url(), url(), …
,指向一个图像文件。可以提供多个url()
作为备用,以防某些光标图像类型不受支持。非 URL 备用(一个或多个关键字值)*必须*位于备用列表的末尾。 <x>
,<y>
可选-
可选的 x 和 y 坐标,指示光标热点;光标中被指向的精确位置。
这些数字以图像像素为单位。它们相对于图像左上角,对应于“
0 0
”,并被限制在光标图像的边界内。如果没有指定这些值,它们可能会从文件本身读取,否则将默认设置为图像的左上角。 关键字
-
必须指定一个关键字值,指示要使用的光标类型,或者如果所有指定图标都无法加载,则指示要使用的备用光标。
下表列出了可用的关键字。除了
none
(表示没有光标)之外,还显示了光标以前是如何渲染的图像。您可以将鼠标悬停在表格行上,以查看不同的光标关键字值在您当前浏览器中的效果。类别 关键字 示例 描述 常规 auto
UA 将根据当前上下文确定要显示的光标。例如,在悬停文本时等效于 text
。default
平台相关的默认光标。通常是一个箭头。 none
不渲染光标。 链接和状态 context-menu
上下文菜单可用。 help
帮助信息可用。 pointer
光标是一个指针,表示链接。通常是指示手的图像。 progress
程序在后台繁忙,但用户仍然可以与界面交互(与 wait
相反)。wait
程序繁忙,用户无法与界面交互(与 progress
相反)。有时是一个沙漏或手表图像。选择 cell
可以选择表格单元格或一组单元格。 crosshair
十字光标,通常用于指示位图中的选择。 文本
文本可以选择。通常呈 I 形。 垂直文本
垂直文本可以选择。通常呈侧向 I 形。 拖放 别名
要创建一个别名或快捷方式。 复制
要复制某些内容。 移动
要移动某些内容。 禁止放置
项目不能放在当前位置。
Firefox 错误 275173: 在 Windows 和 macOS 上,no-drop
与not-allowed
相同。不允许
请求的操作将不会执行。 抓取
可以抓取某些内容(拖动以移动)。 正在抓取
正在抓取某些内容(拖动以移动)。 调整大小和滚动 全屏滚动
可以向任何方向滚动(平移)某些内容。
Firefox 错误 275174: 在 Windows 上,all-scroll
与move
相同。列调整大小
可以水平调整项目/列的大小。通常呈现为左右指向的箭头,中间用垂直线隔开。 行调整大小
可以垂直调整项目/行的尺寸。通常呈现为上下指向的箭头,中间用水平线隔开。 北调整大小
要移动某个边缘。例如,当从框的东南角开始移动时,使用 se-resize
光标。
在某些环境中,会显示等效的双向调整大小光标。例如,n-resize
和s-resize
与ns-resize
相同。东调整大小
南调整大小
西调整大小
东北调整大小
西北调整大小
东南调整大小
西南调整大小
东西调整大小
双向调整大小光标。 南北调整大小
东北西南调整大小
西北东南调整大小
缩放 放大
可以放大或缩小某些内容。
缩小
正式定义
正式语法
cursor =
[ [ <url> | <url-set> ] [ <x> <y> ]? ]#? [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | grab | grabbing | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out ]
<url> =
<url()> |
<src()>
<x> =
x
<y> =
y
<url()> =
url( <string> <url-modifier>* ) |
<url-token>
<src()> =
src( <string> <url-modifier>* )
使用说明
图标大小限制
虽然规范没有限制 cursor
图像的大小,但 用户代理 通常会对其进行限制,以避免潜在的滥用。例如,在 Firefox 和 Chromium 中,默认情况下,光标图像限制为 128x128 像素,但建议将光标图像大小限制为 32x32 像素。使用大于用户代理支持的最大大小的图像更改光标,通常会被忽略。
支持的图像文件格式
规范要求用户代理支持 PNG 文件、包含自然尺寸的安全静态模式下的 SVG v1.1 文件,以及它们在其他属性中支持的任何其他非动画图像文件格式。桌面浏览器也广泛支持 .cur
文件格式。
规范还表明,用户代理应该也支持包含自然尺寸的安全动画模式下的 SVG v1.1 文件,以及它们在其他属性中支持的任何其他动画图像文件格式。用户代理可以支持不包含自然尺寸的静态和动画 SVG 图像。
iPadOS
iPadOS 支持触控板和鼠标等指针设备。默认情况下,iPad 光标显示为圆圈,唯一支持更改指针外观的值是 text
。
其他说明
与工具栏区域交叉的光标更改通常会被阻止,以避免欺骗。
示例
设置光标类型
.foo {
cursor: crosshair;
}
.bar {
cursor: zoom-in;
}
/* A fallback keyword value is required when using a URL */
.baz {
cursor: url("hyper.cur"), auto;
}
规范
规范 |
---|
CSS 基本用户界面模块级别 4 # cursor |
浏览器兼容性
BCD 表格仅在浏览器中加载