自定义光标图像在所有IE中都不起作用?

时间:2011-09-14 15:56:16

标签: css cursor

我想我已经尝试过在互联网上建议的不同方法,但没有任何效果。这是我目前的css代码:

div {
   cursor: url(images/zoomin.cur), auto;
}

除IE浏览器外,它工作正常......

9 个答案:

答案 0 :(得分:16)

不幸的是,cursor在IE中很明显,至少在包括8

之前
  

在Internet Explorer for Windows(包括版本8)中,如果是   相对URI值在外部样式表文件中指定   基URI被认为是包含该文档的URI的URI   元素而不是声明的样式表的URI   出现。

http://reference.sitepoint.com/css/cursor

您可能希望能够使用conditional comment来定位IE,然后使用不同的url将修改后的样式规则提供给它。

答案 1 :(得分:4)

我用这种方式解决了Internet Explorer中的抓取光标,并引用了@JasonGennaro的答案:

  

在Internet Explorer for Windows(包括版本8)中,如果是   相对URI值在外部样式表文件中指定   基URI被认为是包含该文档的URI的URI   元素而不是声明的样式表的URI   出现。

.grab_cursor {
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
    cursor: url('../img/cursors/openhand.cur'), url('img/cursors/openhand.cur'), n-resize; /* standard: note the different path for the .cur file */
    cursor: url('img/cursors/openhand.cur'), n-resize\9; /* IE 8 and below */
    *cursor: url('img/cursors/openhand.cur'), n-resize; /* IE 7 and below */
    _cursor: url('img/cursors/openhand.cur'), n-resize; /* IE 6 */
}

文件树

index.html
css/style.css -> here the posted code
img/cursors/openhand.cur

好的参考资料

工作演示

答案 2 :(得分:2)

由于不同的浏览器对相对URI的处理方式不同,因此光标样式允许使用网址列表。您可以拥有一个适用于IE的路径和一个适用于其他浏览器的路径:

div {
   cursor: url('app/images/zoomin.cur'), url('zoomin.cur'), auto;
}

在我的设置中,第一个网址适用于IE11(及更早版本),因为使用光标的脚本位于“cgi-bin / app”中,而.cur和.css文件位于“app / images”中。 IE使用文档位置作为基础,因此我需要添加更多路径信息来定位光标文件。第二个URL在Firefox中工作,因为.cur和.css位于同一位置,Firefox使用.css位置作为基础,因此不需要额外的路径信息。

答案 3 :(得分:1)

来自msdn文档: URL(URI) Internet Explorer 6及更高版本。 Cursor由作者使用自定义URI定义,例如url(' mycursor.cur')。 .CUR和.ANI类型的游标是唯一支持的游标类型

答案 4 :(得分:0)

来自:http://www.w3schools.com/cssref/pr_class_cursor.asp

  

所有主流浏览器都支持cursor属性。

     

注意:Opera 9.3和Safari 3不支持URL值。

     

注意:IE7及更早版本不支持值“inherit”。 IE8   需要一个!DOCTYPE。 IE9支持“继承”。

答案 5 :(得分:0)

要在IE中工作,您需要指定CUR文件的完整路径。 E.g:

html {
    cursor: url("../img/cursor.png"), url("http://www.example.com/dist/assets/img/cursor.cur"), default;
}

答案 6 :(得分:0)

我在IE10中证明了这一项工作,在index.html中是INDEXED(必须使用绝对路径)

<style type="text/css">
    .container{
    cursor: url(http://path/of/folder/image.cur), default !important;
        }
</style>

答案 7 :(得分:0)

我在 IE 中也遇​​到了光标指针渲染问题。以下是我的解决方案。

您需要确保两件事。

  1. 光标文件应该是 .cur 或 .ani 文件。
  2. 您需要提供完整的 url 图片路径。即http://abc.in/static/images/demo.cur

您可能会遇到光标原点开始位置的问题。所以你可以通过使用 https://www.cursor.cc 来解决这个问题。网站。 它有一个热点(鼠标点击的地方)复选框,您可以使用它来决定您的指针位置。

希望以上细节都能解决所有指针问题。

答案 8 :(得分:-1)

我尝试使用.ani和.gif,它正在运行。它应该是这样的:

body {
cursor: url(images/dog.ani), url(images/dog.gif), progress !important;
}

这个css适用于我的网站chrome,firefox和IE。