发布于 2026-01-06 5 阅读
0

纯 CSS 网页自定义光标 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

使用纯 CSS 在网页上创建自定义光标

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

大家好,今天我们将探讨CSS中的cursor属性。以及为什么不使用自定义光标呢?

预集成光标

CSS 允许我们从三十多种预设光标中进行选择。有些浏览器会自动切换到特定的光标,例如,当光标悬停在链接上时,浏览器会本能地识别出这是一个可点击元素,并将鼠标光标切换到该cursor: pointer;属性对应的光标位置。

总而言之,下表列出了目前 CSS 中几乎所有可用的滑块:

CSS 值 描述
汽车 用户代理将根据当前上下文确定要显示的光标。例如,当鼠标悬停在文本上时,光标将显示为与文本相同的样式。
默认 平台相关的默认光标。通常为箭头。
没有任何 未渲​​染光标。
上下文菜单 可以使用上下文菜单。
指针 您可以获取帮助信息。
没有任何 光标是指示链接的指针,通常是一个指向链接的手形图像。
进步 程序在后台运行,但用户仍然可以与界面进行交互(与此相反wait)。
细胞 可以选择表格单元格或单元格组。
十字准星 十字光标,通常用于指示位图中的选中状态。
文本 可以选择文本。通常形状为工字钢。
竖文本 可以选择竖排文字。通常形状像一个侧放的工字梁。
别名 需要创建一个别名或快捷方式。
复制 需要复制某些东西。
移动 需要移动某物。
不下降 物品不能丢弃在当前位置。在 Windows 和 Mac OS X 系统中,“禁止丢弃”与“不允许丢弃”含义相同。
不允许 所请求的操作将不会执行。
抓住 某物可以被抓住(拖动以移动)。
抓取 某物被抓住(拖拽移动)。
全滚动 内容可以沿任意方向滚动(平移)。在 Windows 系统中,全滚动与移动效果相同。
调整颜色大小 项目/列可以水平调整大小。通常以左右箭头的形式呈现,中间用竖线分隔。
行大小调整 项目/行可以垂直调整大小。通常以上下箭头的形式呈现,中间用水平线分隔。
放大 可以将某物放大。
缩小 可以将物体缩小(放大)。

更多信息,您还可以查阅MDN Web Docs 网站上关于 CSS cursor 属性的文档。

您可以在下方看到一些光标的演示:

自定义光标

幸运的是,我们并不局限于预设的光标,我们可以使用纯 CSS 实现自定义光标。
添加自定义光标非常简单,只需使用 `url: cursor: url(one.svg);` 即可。但我们并不局限于 URL,我们还可以像下面的代码一样插入一个 SVG 图标,让浏览器将鼠标光标替换为该 SVG 图标:

html{
  cursor: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='24px' height='24px' viewBox='0 0 512 512' style='enable-background:new 0 0 512.011 512.011;' xml:space='preserve'%3E %3Cpath fill='DeepSkyBlue' d='M434.215,344.467L92.881,3.134c-4.16-4.171-10.914-4.179-15.085-0.019  c-2.011,2.006-3.139,4.731-3.134,7.571v490.667c0.003,4.382,2.685,8.316,6.763,9.92c4.081,1.603,8.727,0.545,11.712-2.667  l135.509-145.92h198.016c5.891,0.011,10.675-4.757,10.686-10.648C437.353,349.198,436.226,346.473,434.215,344.467z'/%3E %3C/svg%3E"), pointer;
}
Enter fullscreen mode Exit fullscreen mode

您可以在下面看到我们代码的运行结果:

希望这篇教程能帮助你为网站添加自定义滑块,或者至少让你了解如何使用它们。如有任何疑问,欢迎在评论区留言。👍

文章来源:https://dev.to/clementgaudiniere/custom-cursor-on-a-webpage-in-pure-css-1dmk