css cursor 的可选值(鼠标的各种样式)

CSS的cursor属性用于指定鼠标在元素上的样式,它可以控制当鼠标悬停在某个元素上时它的外观表现。下面是所有可选值的详细攻略。

可选值

  • auto:默认值,浏览器自动设置光标。
  • default:浏览器默认光标。
  • none:无光标。
  • pointer:手势光标,通常用于链接。
  • progress:忙碌或进行操作,通常用于指示页面正在加载中。
  • wait:等待,通常用于指示操作正在进行中。
  • help:帮助,通常用于指示有关操作或某个元素的附加信息。
  • text:文本光标,常用于可编辑文本区域。
  • crosshair:十字线光标,通常可用于某些绘图应用程序中。
  • move:移动光标,用于拖拽元素或调整大小等场景。
  • not-allowed:禁止,通常用于指示无法执行的操作或操作不允许的情况。

示例

例子一:自定义光标

前提条件:准备好一个名为my-cursor.cur的光标文件,可以使用在线工具制作。

在CSS中指定自己的光标样式:

.my-cursor {
  cursor: url(my-cursor.cur), auto;
}

例子二:手写板

在一个小的示例中,我们可以创建一个可以绘制图形的"画布",并使用CSS将鼠标样式更改为"none"以隐藏光标。

<!DOCTYPE html>
<html>
<head>
  <title>Handwritten Board</title>
  <style>
    #canvas {
      width: 500px;
      height: 300px;
      background-color: white;
      border: 1px solid black;
      cursor: none;
    }
  </style>
  <script>
    window.addEventListener("load", () => {
      let canvas = document.querySelector("#canvas");
      let context = canvas.getContext("2d");

      let isDrawing = false;
      let lastX = 0;
      let lastY = 0;

      canvas.addEventListener("mousedown", (event) => {
        isDrawing = true;
        [lastX, lastY] = [event.offsetX, event.offsetY];
      });

      canvas.addEventListener("mousemove", (event) => {
        if (isDrawing) {
          let x = event.offsetX;
          let y = event.offsetY;
          context.beginPath();
          context.moveTo(lastX, lastY);
          context.lineTo(x, y);
          context.stroke();
          [lastX, lastY] = [x, y];
        }
      });

      canvas.addEventListener("mouseup", () => isDrawing = false);
      canvas.addEventListener("mouseout", () => isDrawing = false);
    });
  </script>
</head>
<body>
  <canvas id="canvas"></canvas>
</body>
</html>

以上代码中,我们将鼠标样式设置为none,这会隐藏鼠标光标。然后使用JavaScript监听在画布上的mousedownmousemovemouseup事件,通过CanvasRenderingContext2D方法绘制图形。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:css cursor 的可选值(鼠标的各种样式) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • ANT 压缩(去掉空格/注释)JS文件可提高js运行速度

    对于前端项目,JavaScript文件往往是最大的一个个体文件,优化他的运行速度对整个网站性能的提升是极为重要的。使用ANT工具可以压缩JavaScript文件,去掉一些不必要的空格和注释,并且经过压缩后的文件不会对原有的代码结构和逻辑产生任何影响。 以下是使用ANT压缩JavaScript文件的完整攻略: 1、安装ANT 首先你需要安装ANT工具,可在官网…

    css 2023年6月9日
    00
  • 原生js和css实现图片轮播效果

    实现图片轮播效果,需要涉及到以下几个步骤: 设置容器和图片的布局样式; 编写js代码控制图片轮播; 配置定时器实现轮播自动播放; 编写css代码实现图片的过渡效果。 下面,我们就来详细讲解如何用原生js和css实现图片轮播效果。 1. 设置容器和图片的布局样式 首先,需要在HTML页面上设置一个容器,容器内包含多张图片,如下所示: <div class…

    css 2023年6月10日
    00
  • Vue获取DOM元素并修改属性的方法

    下面我将为你详细讲解”Vue获取DOM元素并修改属性的方法”。 1. Vue获取DOM元素的方法 在Vue中,我们通过$refs属性来获取DOM元素,$refs是一个对象,这个对象中存放了所有有ref属性的DOM元素。 下面是一个示例: <template> <div> <div ref="myDiv"&gt…

    css 2023年6月10日
    00
  • css float浮动属性的深入研究及详解拓展(一)

    CSS Float浮动属性的深入研究及详解拓展(一)是一篇关于CSS中浮动属性的详细指南。这篇文章涵盖了浮动的概述、如何使用浮动、如何清除浮动、如何处理浮动元素的高度、如何使用浮动实现不规则布局等内容。 以下是该攻略的完整概述: 概述 浮动的定义和作用 浮动的规则 浮动带来的问题 如何使用浮动 使用float属性 浮动元素的宽度 浮动元素的高度 浮动元素的位…

    css 2023年6月10日
    00
  • 仿客齐集首页导航条DIV+CSS+JS [代码实例]

    下面我将针对“仿客齐集首页导航条DIV+CSS+JS [代码实例]”编写攻略,详细讲解该实例的实现过程,以及其中涉及的相关技术要点。 1. 实例介绍 “仿客齐集首页导航条”是一个非常典型的网页导航条,该实例使用了DIV、CSS、JS等技术进行实现,具有菜单动态展开和收起的功能,具有很好的交互体验。 2. 实现步骤 2.1 HTML代码编写 导航条是基于HTM…

    css 2023年6月11日
    00
  • 详细介绍CSS中的伪选择器

    接下来我将详细介绍CSS中的伪选择器。 什么是CSS中的伪选择器 CSS中的伪选择器(pseudo-selector)是一种语法结构,可以用于选择不同状态下的元素。伪选择器以冒号(:)开头,通常用于选择元素的某个状态或某些特定的子元素,可以把它们看作是CSS选择器的扩展。 CSS中的伪选择器分类 伪选择器可以分为两大类:伪类(Pseudo-classes)和…

    css 2023年6月9日
    00
  • 你必须要知道关于响应式布局的几件事

    当我们创建网页时,我们必须考虑不同设备屏幕大小对网页排版带来的影响,因此响应式设计就成了一个必须要掌握的设计技能。以下是关于响应式设计的几个重要事项: 1. 确定视口(VIEWPORT) 设备屏幕大小不一,确定视口是确保网站正确显示的关键因素。在HTML的标签里设置meta标签里的viewport参数是非常重要的,其中viewport的大小不能超出设备屏幕大…

    css 2023年6月9日
    00
  • Vue项目中使用mock.js的完整步骤

    下面我将为你详细讲解Vue项目中使用mock.js的完整步骤: 安装Mock.js和axios 在Vue项目中,安装Mock.js和axios很简单,只需要在终端执行以下命令: npm install mockjs axios –save-dev 创建mock数据 在Vue项目根目录下创建一个mock文件夹,用于存放模拟数据。在该文件夹下创建一个mock.…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部