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监听在画布上的mousedown、mousemove和mouseup事件,通过CanvasRenderingContext2D方法绘制图形。
				 沃梦达教程
				
			本文标题为:css cursor 的可选值(鼠标的各种样式)
 
				
         
 
            
        
             猜你喜欢
        
	     - vue轮播图插件和页面滚动显示图片插件汇总 2023-10-08
- javascript 防止刷新,后退,关闭 2023-12-01
- 基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放) 2023-12-25
- cocos creator游戏之弹窗动画的实现 2022-10-29
- CSS中的一些百分比相关调试经验分享 2023-12-15
- bootstrap3.0教程之栅格系统案例(包括栅格选项、从堆叠到水平排列、移动设备和桌面等 2024-01-04
- JavaScript实现一键复制文本功能的示例代码 2023-12-24
- Layui TreeTable实现树形数据表格 2023-11-23
- Vue2.0 $set()的正确使用方式 2023-10-08
- react vue 等等这种mvvm思维的开发方式怎么编写通用组件,或者什么样的组件应该编写为通用组件 2023-10-08
 
						 
						 
						 
						 
						 
				 
				 
				 
				