新钛云服已累计为您分享707篇技术干货

您是否曾经访问过一个网站并被其惊人的功能所震撼?其中之一可能是一个很酷的鼠标光标,它不同于您习惯的常规箭头或指针光标。

这确实可以改善用户体验,最近我一直想知道它是如何工作的。所以我开始做一些研究,我发现它是如何完成的。

在本文中,我将解释如何制作自定义鼠标光标。在本文结束时,您将学习如何使用CSS和JavaScript两种不同的方法制作这些光标。然后,您将准备好使用不同的创意光标来充实您的网站,以保持您的观众的参与度。

如何使用CSS自定义鼠标光标

使用CSS自定义鼠标光标非常简单,因为CSS已经有一个属性来处理这个问题。我们需要做的就是识别这个属性并使用它。作为前端工程师,我们经常使用这个属性——它就是万能的cursor属性。是的,该属性使我们能够制作我们选择的自定义光标。

在我们进入一个实际的例子之前,让我们看一下与CSS cursor属性相关的值。虽然大多数开发人员只使用了一些重要的,但我们应该看看更多。

从上图中,您可以看到每个CSS cursor属性值名称和对应的值的说明。

现在如何使用CSS自定义鼠标光标?要使用它,您只需告诉CSS您打算使用什么图像,并使用该url值将光标属性指向图像URL。

从上面的代码片段中,你可以看到我在文档正文上设置了这个,所以无论光标移动到哪里,它都可以应用于光标。它具有指定的图像url()。

该属性的下一个值是备用,以防图像未加载或可能由于某些内部故障而无法找到。我确定您不希望您的网站“无光标”,因此添加后备非常重要。您还可以添加尽可能多的后备URL。

您还可以在网页的特定元素或部分上自定义光标。下面是一个 CodePen 示例:

这就是在CSS中自定义光标的全部内容。现在让我们看看如何用 JavaScript 做到这一点。

如何使用JavaScript制作自定义鼠标光标

要使用JavaScript实现这一点,您需要操作DOM以获得所需的结果。

首先,让我们看一下 HTML:

从上面的代码片段中,我创建了两个div来表示光标。计划是从JavaScript操作这些 div,以便它们在网页上的移动由 JavaScriptmousemove事件使用鼠标移动的 X 和 Y 坐标滚动。

现在让我们来看看 CSS 部分,这将是一件有意义的事情。

如何使用CSS设置自定义光标的样式

看看上面的CSS代码,我禁用了光标(还记得cursor:none吗?)。这将使光标不可见,只允许我们的自定义光标显示。

我设计的divs样式赋予它们独特的“类似光标”的外观。你绝对可以用它做更多的事情,如果有图像,可以添加背景图像、表情符号、贴纸等。现在,让我们看一下JavaScript

如何使用 JavaScript 使光标移动

我在全局窗口对象上添加了一个事件监听器来监听任何鼠标移动。当鼠标移动时,moveCursor函数表达式被调用并接收事件对象作为参数。使用此参数,我能够在页面上的任何位置获取鼠标上的 X 和 Y 坐标。

我已经使用JavaScript从DOM中选择了每种类型的光标querySelector。所以我所要做的就是根据鼠标的 X 和 Y 坐标移动它们,方法是使用translate3d值控制样式上的变换属性。这将使div 在鼠标移动到网页上的任何点时移动。

您看到的反引号称为模板文字。这可以轻松编写变量以将它们附加到字符串。另一种方法是将变量连接到字符串。

哪种方法效果最好?

现在由您作为开发人员来选择最适合您的方法。如果您想使用一些漂亮的表情符号或图像作为光标,您可以选择使用CSS。另一方面,您可能想要使用JavaScript,这样您就可以自定义您选择的复杂形状并为光标的移动设置动画。

无论哪种方式都很好,只要您获得所需的结果并让您网站的所有访问者惊叹。

*原文链接:https://www.freecodecamp.org/news/how-to-make-a-custom-mouse-cursor-with-css-and-javascript/

    推荐阅读   

    推荐视频    

如何使用CSS和JavaScript制作自定义鼠标光标相关推荐

  1. CSS(列表+表格+链接+自定义鼠标光标)样式

    1.CSS列表样式 1.1 list-style-type属性 (值可取none.circle.square.decimal.disc.lower-alpha) 有序列表:列表项目用数字或者字母来表示 ...

  2. 自定义鼠标光标cursor

    通过css属性 Cursor:url()自定义鼠标光标. {cursor:url('图标路径'),default;} url是自定义鼠标图标路径 default指的是定义默认的光标(通常是一个箭头), ...

  3. 使用 HTML、CSS 和 JavaScript 制作的随机密码生成器

    今天我将使用 HTML.CSS 和 JavaScript 制作随机密码生成器 直接跳到末尾 获取完整源码 随机密码生成器

  4. 使用 HTML、CSS 和 JavaScript 制作模拟时钟(初学者教程)

    在线演示地址:https://haiyong.site/demo/clock1.html 文章目录 步骤1:创建制作此时钟的基本结构 步骤2:使用 CSS 代码设计背景 步骤3:使用 CSS 代码设计 ...

  5. 利用HTML制作时间,如何使用HTML,CSS和JavaScript制作时间表?

    是否可以使用HTML,CSS和JavaScript / jQuery制作时间表? 请回复一些有用教程的链接. 解决方法: 这是一个带css过渡的简单垂直时间轴. 这是HTML: 2008 That s ...

  6. 【css】自定义鼠标光标指针样式-前端

    本文功能介绍:自定义.定制鼠标光标指针样式! cursor: url(), auto; 除了浏览器提供的鼠标样式,我们还可以借助 cursor: url() 的特性,即可实现定制自己的鼠标样式! /* ...

  7. Unity UI制作与鼠标光标

    来自chutianbo老师笔记 一:UI的制作 主要结构: 分别为左上角血条,右边金币,左边遥控栏,右边攻击等 左上角血条: 1.创建一个UI中的silder 按照UI中的渲染顺序,那么从上到下应该是 ...

  8. 制作 windows鼠标光标

    1.这是一个西瓜样式的光标指针PNG素材和做好的CUR文件(即点即下载):西瓜指针(PNG和CUR) 2.这个制作鼠标光标的教程:制作鼠标光标教程 3.这是上面教程需要的PS插件(即点即下载):ICO ...

  9. android 4.4 自定义广播,Android 4.4.2 系统 自定义 鼠标 光标 替换 接口实现

    一.需求背景 新项目开发,需预置"天翼云电脑"app,云电脑app界面里其实就是盒子端接入的鼠标和键盘外设,来操作云端的windows系统桌面: 云电脑客户端使用的android系 ...

最新文章

  1. SpringBoot项目优化和Jvm调优(亲测,真实有效)
  2. Jenkins中的高速流水线 Shared Pipeline
  3. Qt / SIGNAL、SLOT、signals、slots、emit 关键字含义
  4. 参数注入:不使用xml,使用java配置参数的方法,以前的spring的方法
  5. 实验四 恶意代码技术
  6. [转]用android LinearLayout和RelativeLayout实现精确布局
  7. 实训项目四 powerpoint 综合应用_【深化改革结硕果】新疆番茄综合精深加工关键技术及产业化应用项目取得重大突破...
  8. 在View页面,使用@if(){ }输出判断正确的内容
  9. IBM发布人工智能显微镜,可检测海洋水资源
  10. 搜索控制器UISearchController的使用
  11. shell脚本格式的几点注意:格式严格,空格不能随便出现(一写就记不住)
  12. 看完吴恩达(Andrew Ng)机器学习视频的感受
  13. golang批量修改文件名称
  14. Flink无法在yarn提交任务:取消检查虚拟内存
  15. 我的价值观和人才观(狭得不能再狭的狭义)
  16. codeforces1292C Xenon‘s Attack on the Gangs
  17. C++ 内存管理 - primitives - 侯捷
  18. 计算机综合训练50题4,-计算机基础练习题-Excel部分50题.doc
  19. ionic3正式发布(ionic2升级到ionic3)
  20. macOS 安装 wine

热门文章

  1. 吃鸡服务器维护6月17号,绝地求生6月17日更新维护什么时候结束 绝地求生2020年6月17日更新维护结束时间...
  2. DataGridView操作详解
  3. 中富金石财富班29800效果如何?与专业投资者同行让投资更简单
  4. 每日英语 Daily English
  5. 1324 还要更多的巧克力
  6. 揭秘4大炒房模式 房价就是这么被炒起来的
  7. Java图形界面基础案例-怎么画乌龟
  8. Terraform 实践
  9. 万博智云新一代云原生备份容灾平台发布会成功举办,让企业备份容灾成为常态
  10. microtime函数