微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTML5 – Chrome中的SVG文本选择错误?

我正在使用SVG在 HTML5中开发Web应用程序来绘制路径和文本.在OS X上使用Chrome进行测试时,我遇到了一些非常难看的行为,这似乎是Chrome中的一个错误.

考虑以下由路径划分的SVG文本的最小示例:

<svg height="200" width="200">
    <text x="50" y="50" fill="#000" font-size="50" style="pointer-events: none;">
        <tspan x="5" dy="0">Test Text</tspan>
    </text>
    <path d="M 0 0 L 100 100" stroke="#000" stroke-width="5"></path>
</svg>

(http://jsfiddle.net/wPYvS/)

我不希望在用光标拖动SVG文本时选择(或突出显示)SVG文本.所以我添加了CSS属性“pointer-events:none”,它在除Chrome之外的所有浏览器中都能正常工作.在Chrome中,当您仅拖动文本时,不会选择任何内容.但是如果要拖动路径阻碍的文本(实际上是在路径上拖动),文本会突出显示.

我能够在Chrome和OS X和Windows中重现这一点,但不能在Firefox,Opera或Safari中重现这一点.

我可以使用一些解决方法来阻止所有浏览器中的文本选择吗?

提前致谢!

解决方法

您可以使用css伪选择器设置选择突出显示颜色.
svg text::selection { background: none; }

参考here.

原文地址:https://www.jb51.cc/html5/240984.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。