CSS 中的鼠标样式 Cursor:url() 使用方法
今天在项目中,要用到自定义鼠标样式,格式:
css:{cursor:url('绝对路径的图片(格式:cur,ico)'),-moz-zoom-out;} // FF下面
css:{cursor:url('绝对路径'),auto;} // IE,FF,chrome 浏览器都可以
前面 url 是自定义鼠标格式,图像的绝对路径地址,后面的参数是 css 标准的 cursor 样式,(IE 下面可以不需要)
图标的格式根据不同的浏览器来分:IE支持 cur、ani、ico 这三种格式,FF 支持 bmp、gif、jpg、cur、ico 这几种格式,不支持 ani 格式,也不支持 gif 动画格式,因此来说一般将图片存为 cur 或 ico 格式比较好,如果是 ani 格式的话,那么可以在 FF 下面用 jpg、gif、bmp 来代替
cursor:url(.....ani),url(.....gif),auto
还有几个需要注意的地方:
- 图片地址为绝对路径
- 图片大小最好是 32*32 的大小,反正在各个浏览器下面解析的大小不一样
Cursor:url() 的使用
cursor: url(),pointer;
- url 需使用的自定义光标的 URL。图片类型需要是 .cur 或 .ani 格式的。这次项目中我是用的 .ico 格式,并没有发现浏览器兼容问题
- pointer 默认的鼠标光标样式,当没有找到可用的定义光标时会使用此光标。
最近项目中有用到设置鼠标光标为自定义图片的特效,在使用 Cursor:url() 的过程中遇到了很多问题。
问题一 浏览器不兼容问题:
在FF火狐中可以很正常的显示出来,而在IE中起初是显示不出来,后来是鼠标图片大小过小的问题,在Google浏览器中鼠标图片的大小问题更加的突出——超级的大。
碰到的情况正好和baidu到的结果相反,很多朋友遇到的问题都是不兼容FF浏览器。对于在浏览器中鼠标图片不显示的问题,问题大概出在对鼠标图片 URL 路径的引用上。 可以分别尝试下绝对和相对路径的引用。
问题二 各浏览器间鼠标图片大小不一致问题:
这种问题应该和各浏览器间对 Cursor 图片的解析有关系,起初我的鼠标图片大小是 5956 的,后来把鼠标图片的尺寸改为3232后,图片大小不一致的问题就解决了。经测试发现,超过 32*32 尺寸,就会出现这种问题。
问题三 IE 中使用 Cursor URL() 出现鼠标闪动问题:
当对设置 Cursor URL() 的容器元素添加了Title或Alt时,就会出现这种现象。最后很无奈的把Title标签去掉了。难道是因为在IE中Cursor会和Title、Alt冲突么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论