您的位置:首页 > Web前端 > CSS

【转】改变浏览器中的鼠标样式

2014-08-07 13:24 232 查看
Gecko 1.8 (Firefox1.5,SeaMonkey 1.0) 支持 CSS2
cursor property 的URL参数。这样,允许为鼠标指针定义任意图像 - 可以使用任何被Gecko所支持的图像格式。

该属性的语法:
cursor: [,]* keyword;

这个意思是0个或者更多的URL可能被定义(使用逗号隔开),哪一个都必须在后面紧跟一个CSS规范中定义的关键字,例如:
auto
pointer


例如,像下面的参数都是被允许的:
cursor: url(foo.cur), url(http://www.example.com/bar.gif), auto;

首先尝试加载foo.cur。如果文件不存在或者其它无效原因,bar.gif被尝试加载,如果bar.gif不能被加载,那么使用
auto


在Gecko 1.8beta3 (Deer Park Alpha 2)中加入了对CSS3 语法的指针属性的支持。因此,它能在Firefox1.5中工作。它允许定义指针的热点,加强对指针图橡的边界的控制。如果一个也没有设置,指针的热点会从文件本身读取(适合CUR和XBM文件类型)。否则,设置成图像的左上角。一个CSS3语法的例子:
cursor: url(foo.png) 4 12, auto;

第一个数字是X坐标,第二个数字是Y坐标。这个例子将设置热点向top偏移4像素,向left偏移12像素。

局限性

可以使用任何被Gecko所支持的图像格式。这意味着你可以使用BMP,JPG,CUR,GIF等等。可是,ANI不被支持。还有即使你定义一个GIF动画,指针也不会变成GIF动画。这个局限性可能在以后的版本去掉。

Gecko它本身不能限制被替换的指针大小。无论如何,你应该自己限制图像的最大值在32x32,以便兼容各种平台的操作系统。尤其是大于这个尺寸的指针不能在Windows9x (95,98,ME)下工作。

透明效果的指针在Windows XP以前都不被支持。这是操作系统的一个局限性。透明效果可以在所有平台下工作。

只有Windows,OS/2和Linux(使用Gtk+2.4及更高版本)的Mozila版本支持光标属性的URL参数。其它版本可能在以后的版本中加入支持(MacOS: Template:bug,QNX
Neutrino: Template:bug,XLib: Template:bug,Qt: Template:bug,BeOS: Template:bug,Gtk
2.0/2.2: Template:bug)。

关于其它浏览器的兼容性

微软的Internet Explorer也支持光标属性的URL参数。可是,它只支持CUR和ANI格式。

它也使用不严格的光标属性语法。例如像这样的参数:
cursor: url(foo.cur);

或者:
cursor: url(foo.cur), pointer, url(bar.cur), auto;

可以在MSIE上工作,但是不能在Gecko上面工作。因为Gecko的兼容性与CSS的规范一致,URIs表始终放置在前面,在最后放置正确的关键字。

XXX document what MSIE does with CSS 3 hotspot locations

注意两个小问题:

1.firefox 暂时不支持 .ani

2.下面两个写法 firefox 都无法正确执行。

cursor: url(foo.cur);

后面没有 auto或者 pointer 等标准属性。

cursor: url(foo.cur), pointer, url(bar.cur), auto;

uri 必须在前,标准属性在后。

这种写法是被所有浏览器支持的(IE,chrome,firefox,safari)cursor:url(images/pict.cur) ,auto;

下面附上一个图片格式转换的工具可以把jpg\png转换成cur等格式,下载地址:

http://download.csdn.net/source/3433765
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: