html – 将光标设置在元素的默认样式或元素中:hover?

以下两个之间有什么实际区别吗?

button {
  cursor: pointer;
}

和:

button:hover {
  cursor: pointer;
}

The MDN docs明确指出:

The cursor CSS property specifies which mouse cursor to display when the mouse pointer is over an element.

那么,有什么真正的区别吗?一个人应该优先于另一个,还是可以互换?

解决方法

是的有区别,第一个是在加载CSS时定义的,第二个是仅在:hover上定义的.在视觉上我们可能没有看到差异,但如果您使用图像作为光标,如果您在悬停时定义它,可能会有一个小的延迟,因为您需要等待图像加载.

button:hover {
  cursor:url(https://picsum.photos/90/90?image=1069) 5 5,help;
}
<button>wait for loading</button>

对于第二个示例,图像将在悬停之前加载(您可以检查浏览器的网络选项卡以注意这一点):

button {
  cursor:url(https://picsum.photos/90/90?image=1062) 5 5,help;
}
<button>no need to wait for loading</button>

因此,最好使用第二个来避免任何延迟,并在需要时准备好光标.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些