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日

相关文章

  • 简单的CSS叠加外边距示例

    我们来详细讲解一下“简单的CSS叠加外边距示例”的完整攻略。 什么是CSS外边距叠加 在CSS中,相邻的两个元素之间如果存在margin值时,它们之间的margin会发生叠加(也叫“合并”),即margin值会取两者中较大的一个,而不是简单的将两者相加。 外边距叠加规则 CSS中,“相邻的元素”指的是两个元素之间没有任何非空内容、padding或border…

    css 2023年6月9日
    00
  • css绘制透明三角形

    下面是我为你准备的“css绘制透明三角形”的完整攻略: 1. 原理 在CSS中,使用border制作三角形是一种非常常见的技巧。通常情况下,我们可以使用border属性来定义一个元素的边框,然后通过设置一些边框的样式(例如颜色、宽度和样式),来实现用border绘制出一个三角形。 在制作透明三角形时,我们可以使用下面的技巧: 将元素的高度和宽度都设置为0,只…

    css 2023年6月10日
    00
  • 基于ASP.NET+easyUI框架实现图片上传功能(表单)

    下面我将详细讲解“基于ASP.NET+easyUI框架实现图片上传功能(表单)”的完整攻略。 一、前置条件 在开始实现图片上传功能之前,我们需要确保以下环境和条件已经满足: 本地已经安装了Visual Studio 集成开发工具; 项目中已经引用了easyUI框架; 已经配置好了上传文件的保存路径。 二、实现步骤 (1) filebox控件的配置 首先,在A…

    css 2023年6月11日
    00
  • 简单介绍CSS设置打印页面的方法及css里media的使用

    CSS是一种用于样式设计的语言,可以让我们轻松地设置网页的颜色、排版和布局等样式效果。另外,CSS也可以设置打印页面的样式,以便打印出来的内容更加美观、易读和专业。本文将详细介绍如何使用CSS设置打印页面,并讲解CSS中media查询的使用方法。 设置打印样式 在CSS中,我们可以使用@media规则来设置不同媒体类型下的样式。其中,打印媒体可以通过@med…

    css 2023年6月9日
    00
  • H5移动端适配 Flexible方案

    H5移动端适配 Flexible方案是目前比较流行的一种移动端适配方案,以下是完整攻略: 一、什么是Flexible方案 Flexible方案是一种基于JavaScript的解决方案,它利用了浏览器的缩放特性,在页面加载的时候动态改变HTML文档的font-size属性,从而实现页面的自适应调整。 二、Flexible方案的具体实现 创建一个基准值变量并计算…

    css 2023年6月10日
    00
  • html中table表格的内容水平和垂直居中显示

    要让HTML表格中的内容水平和垂直居中显示,可以通过CSS样式来实现。 水平居中: 方法一:使用text-align属性 使用text-align属性可以将表格中的内容水平居中显示。将text-align属性设置为“center”即可实现,示例代码如下: <table style="width:100%"> <tr&gt…

    css 2023年6月10日
    00
  • 在vue项目中设置一些全局的公共样式

    在 Vue 项目中设置全局公共样式,可以通过多种方法实现。以下是两种方法的示例说明: 方法一:使用全局样式文件 在项目中新建一个 styles 文件夹,并在其中创建一个 global.scss 文件。 在 global.scss 文件中定义需要设置的全局样式,例如: body { font-family: "Helvetica Neue"…

    css 2023年6月9日
    00
  • flex是什么及flex布局语法教程详解

    下面是详细讲解“flex是什么及flex布局语法教程详解”的攻略: 1. flex是什么? flex是CSS3中引入的一种布局方式,被称为“弹性布局”,相对于传统的布局方式(如float或者position)来说更加灵活。使用flex布局,可以轻松实现自适应布局,解决在传统布局中出现的浮动、清除浮动等问题,而且简单易学,容易维护。 2. flex布局语法 2…

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