CSS cursor(鼠标样式)

1年前 (2024-04-27)
在浏览网页的过程中,当我们将鼠标移动到一些元素上时,鼠标的样式会发生相应的改变,例如当鼠标指向文本时,鼠标的样式会变成类似大写字母I的样子;当鼠标指向链接时,鼠标会变成一个小手的形状等。

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

属性值

示意图

描述

auto

 

默认值,由浏览器根据当前上下文确定要显示的光标样式

default

默认光标

默认光标,不考虑上下文,通常是一个箭头

none

 

不显示光标

initial

 

将此属性设置为其默认值

inherit

 

从父元素基础 cursor 属性的值

context-menu

上下文菜单光标

表示上下文菜单可用

help

帮助光标

表示有帮助

pointer

指针光标

表示一个链接

progress

进度游标

进度指示器,表示程序正在执行一些处理,但是您仍然可以在该界面进行一些操作(与 wait 不同)

wait

等待光标

表示程序繁忙,您应该等待程序指向完成

cell

单元游标

表示可以选择一个单元格(或一组单元格)

crosshair

十字准线光标

一个简单的十字准线

text

文字游标

表示可以选择的文本

vertical-text

垂直文本光标

表示可以选择的垂直文本

alias

别名光标

表示要创建别名或快捷方式

copy

光标

表示可以某些内容

move

移动光标

表示可以移动鼠标下方的对象

no-drop

无丢游标

表示所拖动的项目不能放置在当前位置

not-allowed

不允许的游标

表示无法完成某事

all-scroll

全滚动光标

表示对象可以沿任何方向滚动(平移)

col-resize

彩色游标

表示可以水平调整列的大小

row-resize

行大小调整游标

表示可以垂直调整行的大小

n-resize

N尺寸游标

表示对象的边缘可以向上(向北)移动

e-resize

电子调整游标

表示对象的边缘可以向右(向东)移动

s-resize

S调整游标

表示对象的边缘可以向下(向南)移动

w-resize

W尺寸游标

表示对象的边缘可以向左(向西)移动

ne-resize

NE调整大小的游标

表示对象的边缘可以向上和向右(北/东)移动

nw-resize

NW调整游标

表示对象的边缘可以向上和向左(北/西)移动

se-resize

SE调整游标

表示对象的边缘可以向下和向右(向南/向东)移动

sw-resize

SW调整游标

表示对象的边缘可以向下和向左(南/西)移动

ew-resize

EW调整游标

表示可以双向调整对象大小的光标

ns-resize

NS调整大小的游标

nesw-resize

NESW调整大小的游标

nwse-resize

NWSE调整大小的游标

zoom-in

放大光标

表示可以放大某些内容

zoom-out

缩小光标

表示可以缩小某些内容

grab

抓取光标

表示可以抓取(拖动)某些东西

grabbing

抓取光标

表示已经抓取到某些东西

url("") 

 

自定义光标的样式,括号中的内容为光标图像的源文件路径

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

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

<!DOCTYPE html>

<html>

<head>

<style>

div {

height: 30px;

border: 1px solid green;

margin-top: 10px;

}

.cell {

cursor: cell;

}

.crosshair {

cursor: crosshair;

}

.text {

cursor: text;

}

.vertical-text {

cursor: vertical-text;

}

.alias {

cursor: alias;

}

.copy {

cursor: copy;

}

.move {

cursor: move;

}

.no-drop {

cursor: no-drop;

}

</style>

</head>

<body>

<div class="cell">cursor: cell;</div>

<div class="crosshair">cursor: crosshair;</div>

<div class="text">cursor: text;</div>

<div class="vertical-text">cursor: vertical-text;</div>

<div class="alias">cursor: alias;</div>

<div class="copy">cursor: copy;</div>

<div class="move">cursor: move;</div>

<div class="no-drop">cursor: no-drop;</div>

</body>

</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 格式。