光标指针在Internet Explorer中使用SVG图像时不显示(Cursor pointer

2019-10-19 02:43发布

当使用这个网站:

<a href="http://www.wikipedia.com">
    <object data="http://upload.wikimedia.org/wikipedia/en/4/4a/Commons-logo.svg" type="image/svg+xml">
        <img src="http://herdeirodocaos.files.wordpress.com/2007/11/wikipedia-logo.jpg" alt="Logo" />
    </object>
</a>

结合这个CSS:

a {
    display: block;
}
object, img {
    width: 200px;
    height: 200px;
}

object:hover {
    cursor: pointer;
}

的jsfiddle

光标不改变为指针(手)当鼠标悬停在Internet Explorer中只有图像

任何想法?

Answer 1:

尝试添加这对你的CSS:

object{
    pointer-events: none;
}


Answer 2:

TL; DR: 这是因为IE8无法解释的对象,然后将图像在它的位置来代替。 和你周围的描述你的错误的其他方式比它实际上是:-)

我很确信的行为是完全相反你的描述-在IE 8仅是设置光标TI pointer ,在我的其他浏览器(FF,Chrome浏览器,IE 10 ...),光标default ,即箭头。

我的解释是,IE8无法解释SVG(IE无法解释9版本之前,SVG)并显示图像为纽带的一部分-并给它适当的光标, pointer ,在你的小提琴在CSS中,重复设定。 其他浏览器,但是,可以理解的对象,并正确地显示它-不给你想要的游标,因为元素类型的对象(尽量把Flash影片,例如YouTube视频,到a元素,看看怎么了)。

而最后一个细节:无需使用:hover选择,显示光标移到元素当它是...是的,在元素。

编辑 :由Erik的评论所说的那样非常漂亮(粘贴在这里只是为了更快参考):

你需要把光标规则SVG里面,而不是这个工作,因为那里的事件会去标签。 该事件不会“泡”到父文件。 这也将工作,如果你使用的是引用的SVG,如下所示:jsfiddle.net/Mw8JX



文章来源: Cursor pointer not showing when using an SVG image in Internet Explorer