自定义光标图像不适用于所有 IE?

发布于 2024-12-04 20:00:20 字数 155 浏览 1 评论 0原文

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

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

除了在 IE 中之外,它工作正常......

I think I have tried different methods suggested all over the internet but nothing worked. This is my current css code:

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

It works fine except in IE...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

国粹 2024-12-11 20:00:21

我以这种方式解决了 Internet Explorer 中的抓取光标问题,引用了 @JasonGennaro 的回答:

在 Windows 版 Internet Explorer 版本 8 及之前版本中,如果
相对 URI 值在外部样式表文件中指定
基本 URI 被认为是包含以下内容的文档的 URI
元素,而不是声明所在样式表的 URI
出现。

.grab_cursor {
    cursor: grab !important; /*Without !important the .cur-file property below will overwrite this and browser will show default cursor*/
    cursor: -moz-grab !important;
    cursor: -webkit-grab !important;
    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

好的参考资料

  • 一个
  • 两个
  • <一个href="http://www.useragentman.com/blog/2011/12/21/cross-browser-css-cursor-images-in-depth/" rel="nofollow noreferrer">三

工作演示

I solved in this way for the grab cursor in Internet Explorer, citing the @JasonGennaro's answer:

In Internet Explorer for Windows up to and including version 8, if a
relative URI value is specified in an external style sheet file the
base URI is considered to be the URI of the document containing the
element and not the URI of the style sheet in which the declaration
appears.

.grab_cursor {
    cursor: grab !important; /*Without !important the .cur-file property below will overwrite this and browser will show default cursor*/
    cursor: -moz-grab !important;
    cursor: -webkit-grab !important;
    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 */
}

Files tree:

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

Good references:

Working Demo:

不再让梦枯萎 2024-12-11 20:00:21

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

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

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

Because different browsers treat relative URI's differently, the cursor style allows a list of urls. You can have one path that works for IE and one that works for other browsers:

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

In my setup, the first url works for IE11 (and earlier) because the script that uses the cursor is in 'cgi-bin/app' while the .cur and .css files are in 'app/images'. IE uses the document location as the base, so I need to add more path information to locate the cursor file. The second url works in Firefox because .cur and .css are in the same location and Firefox uses the .css location as the base, so additional path info is not needed.

月朦胧 2024-12-11 20:00:21

来自msdn文档:

url(uri)
Internet Explorer 6 及更高版本。光标定义为
作者,使用自定义 URI,例如 url('mycursor.cur')。 光标
type .CUR 和 .ANI 是唯一受支持的游标类型

From msdn documentation:

url(uri)
Internet Explorer 6 and later. Cursor is defined by the
author, using a custom URI, such as url('mycursor.cur'). Cursors of
type .CUR and .ANI are the only supported cursor types
.

窝囊感情。 2024-12-11 20:00:21

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

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

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

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

from : http://www.w3schools.com/cssref/pr_class_cursor.asp

The cursor property is supported in all major browsers.

Note: Opera 9.3 and Safari 3 do not support URL values.

Note: The value "inherit" is not supported in IE7 and earlier. IE8
requires a !DOCTYPE. IE9 supports "inherit".

柠檬 2024-12-11 20:00:21

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

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

To work in IE you need specify full path to CUR file. E.g.:

html {
    cursor: url("../img/cursor.png"), url("http://www.example.com/dist/assets/img/cursor.cur"), default;
}
浮生未歇 2024-12-11 20:00:21

这一项工作对我来说在 IE10 中得到了证明,在 index.html 中索引(必须使用绝对路由)

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

this one work for me proved in IE10, INDEXED in the of index.html( you must use absolute routes)

<style type="text/css">
    .container{
    cursor: url(http://path/of/folder/image.cur), default !important;
        }
</style>
迷荒 2024-12-11 20:00:21

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

您需要确定两件事。

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

您可能会面临光标原点起始位置的问题。因此,您可以使用 https://www.cursor.cc 来解决该问题。网站。
它有一个热点(鼠标点击的位置)复选框,您可以通过使用它来决定指针位置。

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

I also faced curser pointer rendering problem in IE. Below are my solutions.

There is 2 things which you need to make sure.

  1. Curser file should be .cur or .ani files.
  2. You need to give full url image path. i.e.http://abc.in/static/images/demo.cur

You can face a problem of curser origin start position. SO you can solve that problem by using https://www.cursor.cc. website.
it has an check box of hotspot (where the mouse clicks) by using you can decide your pointer position.

Hope all pointer problem can be solve by above details.

任谁 2024-12-11 20:00:21

我尝试使用 .ani 和 .gif 并且它有效。它应该是这样的:

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

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

I tried using .ani and .gif and it is working. It should go like this:

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

This css works for my website in chrome, firefox and IE.

jJeQQOZ5 2024-12-11 20:00:20

不幸的是,cursor 在 IE 中是有明显错误的,至少在 8 之前(包括 8)

在 Windows 版 Internet Explorer 版本 8 及之前版本中,如果
相对 URI 值在外部样式表文件中指定
基本 URI 被认为是包含以下内容的文档的 URI
元素,而不是声明所在样式表的 URI
出现。

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

您可能希望能够使用条件注释 以 IE 为目标,然后使用不同的 url 为其提供修改后的样式规则。

Unfortunately, cursor is plain buggy in IE, at least until and including 8

In Internet Explorer for Windows up to and including version 8, if a
relative URI value is specified in an external style sheet file the
base URI is considered to be the URI of the document containing the
element and not the URI of the style sheet in which the declaration
appears.

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

You may want be able to use a conditional comment to target IE and then feed it a modified style rule with a different url.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文