以下两个之间有什么实际区别吗?
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>
因此,最好使用第二个来避免任何延迟,并在需要时准备好光标.