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

问题描述 投票:0回答:3
html css internet-explorer svg
3个回答
3
投票

尝试将其添加到您的 CSS 中:

object{
    pointer-events: none;
}

0
投票

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


0
投票
我也遇到了这个问题,并通过将光标:指针添加到链接样式来修复它。即

a { cursor:pointer }
    
© www.soinside.com 2019 - 2024. All rights reserved.