自定义光标图像 CSS

Posted

技术标签:

【中文标题】自定义光标图像 CSS【英文标题】:Custom Cursor Image CSS 【发布时间】:2010-09-25 02:45:25 【问题描述】:

我有许多 heroshot 图像,单击时会弹出模式。 我试图让光标在图像上移动时变成放大镜。即使我的magnify.cur 出现在正确的位置,以下 CSS 似乎也不起作用。

a.heroshot img 
  cursor:url(/img/magnify.cur), pointer;

有没有人做过类似的事情?如果存在 javascript 解决方案,我不介意。

编辑:它适用于 Safari,但不适用于 Firefox。

【问题讨论】:

相关***.com/questions/6577326/… 【参考方案1】:

您的问题可能是光标 URL 在 Firefox for Mac 中不起作用。

您可以在 Firefox 上使用 -moz-zoom-in 关键字获得相同的效果。

cursor:url(/img/magnify.cur), -moz-zoom-in, auto;

这将显示 magnify.cur、Mozilla 特定的缩放光标或系统默认光标。使用浏览器支持的列表上的第一个光标。

您还可以看到不同浏览器支持的list of cursor keywords。

【讨论】:

此规则不适用于 Firefox(用 FF7 测试)。浏览器将其视为语法错误并丢弃该规则(可在 Web 控制台上查看)。 Chrome 也不显示自定义图标(IE8 显示自定义图标)。 MDN 定义了此规则的语法,即[<url>,]* keywordkeyword 是 CSS 定义的光标值之一,例如 auto【参考方案2】:

这成功了:)

a.heroshot img 
cursor:url(/img/layout/backgrounds/moz-zoom.gif), -moz-zoom-in;

【讨论】:

【参考方案3】:

更新:现在大多数浏览器都原生支持放大图标,因此您可以使用这个 CSS:

cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in;

【讨论】:

最好在属性定义的末尾加上分号。【参考方案4】:

如果用撇号括起来 url 字符串会怎样?

a.heroshot img 
cursor:url('/img/magnify.cur'), pointer;

另见http://www.w3schools.com/CSS/pr_class_cursor.asp

【讨论】:

URL CSS 属性中的引号是可选的 [w3.org/TR/CSS21/syndata.html#uri] 和 w3schools 是一个糟糕的资源,因为它充满了误导性、非标准信息和错误。【参考方案5】:

(基于 Kevin Borders 的回复)

正确的后备顺序如下

a.heroshot img 
    cursor: url(/img/zoom_in.png), url(/img/zoom_in.cur), pointer;  
    cursor: url(/img/zoom_in.png), -moz-zoom-in;  
    cursor: url(/img/zoom_in.png), -webkit-zoom-in;

经过测试:Firefox 47、Chrome 51、Opera 36、Edge 13 和 IE11。

【讨论】:

【参考方案6】:

我的侧 url 属性以下列方式为光标工作

 #myidcursor:url('myimage.png') , auto

但在这里我认为图像大小有问题。因为如果我使用 32*32 或以下的尺寸,那么它就完美了。

自定义光标的 URL 的逗号分隔列表。注意:总是在列表的末尾指定一个通用游标,以防没有任何 URL 定义的游标可以使用

 #myidcursor:url('myimage.png') , auto
 #myidcursor:url('myimage.png') ,url('myimage2.gif') , auto etc

如果只放这个就不行了

 #myidcursor:url('myimage.png')

【讨论】:

以上是关于自定义光标图像 CSS的主要内容,如果未能解决你的问题,请参考以下文章

css 使用CSS自定义光标

Microsoft Edge上的自定义光标有偏移

如何为列表视图创建自定义光标适配器以用于图像和文本?

将光标更改为自定义光标图像作为资源

是否可以使用 PyQt 创建自定义光标? [复制]

自定义鼠标光标cursor