如何使用 CSS 设置指示任意方向滚动的光标样式?
在进入主题之前,让我们尝试了解光标作为 UI 元素的重要性。我们知道用户在网站上交互的第一件事通常是光标,这就是为什么操纵光标样式和效果对于设计至关重要的原因,因为它极大地影响了整体的用户体验。
cursor 属性用于在我们将鼠标悬停在元素上时设置鼠标光标的显示样式。它应用于所有元素并且是可继承的,这意味着子元素也将具有与其父元素相同的鼠标光标。
计算值可以是绝对值或指定的,具体取决于我们是否在属性值中使用 url。它具有离散动画样式。
这通过为光标图像提供一个或多个用逗号分隔的 url 来指定,但必须具有后备关键字值。
在设置样式时,浏览器尝试加载 url 指定的图像,如果加载图像时出现某些错误,则光标将回退并使用关键字值。
或者,我们也可以在 url 后提供两个用空格分隔的数字,它们定义了光标热点相对于图像左上角的 x 和 y 坐标。
现在让我们简要了解一下这些值中的每一个。
url(s) − 这是一个可选值,包含我们希望作为光标的图像文件的源位置。如果我们有多个光标要用于回退,则可以通过指定 url 的逗号分隔列表来提供多个图像作为光标。
X 和 Y − 这些也是可选的数值,指向正在指向的光标内的确切位置;光标热点。这些数字实际上指的是像素大小,它们被限制在光标图像的范围内,并且相对于图像的左上角,对应于“0 0”。
关键字值 − 这是此属性的必填值,它指定了我们将要使用哪种类型的鼠标光标,或者在我们的图像加载失败时将使用哪种鼠标光标。有许多关键字值可供我们使用,例如 auto、default、none、help、wait、crosshair 等等。
使用 all-scroll 属性
在这一点上,我们了解了 cursor 属性及其可能的值。因此,出现的问题是,哪个关键字值将把光标设置为任意方向滚动。问题的答案是“all-scroll”。all-scroll 属性值用于我们希望能够向任意方向滚动的元素。
示例
下面给出了一个使用 all-scroll 关键字值将光标样式设置为任意方向滚动的示例。
<!DOCTYPE html> <html> <head> <style> #all-scrollValue { color: brown; cursor: all-scroll; } </style> </head> <body> <h1>Using all scroll property to change cursor</h1> <h2 id="all-scrollValue"> Hover over this text to see the cursor change to any-direction scroll. </h2> </body> </html>
使用 move 属性值
根据 bug 275174,all-cursor 属性值在 Windows 中的作用与 move 属性值相同。因此,Windows 用户也可以使用 move 属性值来设置任意方向滚动。
示例
下面给出了使用 move 属性值设置任意方向滚动光标的示例。
<!DOCTYPE html> <html> <head> <style> #all-scrollValue { color: brown; cursor: all-scroll; } #movePropertyValue { color: crimson; cursor: move; } </style> </head> <body> <h1>Using all scroll property to change cursor</h1> <h2 id="all-scrollValue"> Hover over this text to see the cursor change to any-direction scroll. </h2> <h2 id="movePropertyValue"> Hover over to see the effect of move property value. </h2> </body> </html>
结论
总之,CSS 使设置指示任意方向滚动的自定义光标样式变得容易。通过使用“cursor”的 CSS 属性,您可以自定义网站光标的外观,并确保它准确地反映用户行为,例如向任意方向滚动。只需几行代码,您就可以为您的用户创造直观的体验。