【发布时间】:2014-10-24 00:54:30
【问题描述】:
Safari 6.1.5 未在 SVG 矩形中显示图案。我终于把它简化为这个测试用例:
<html>
<head>
<style>
.patterned { fill: url("#myid") none; stroke:blue}
</style>
</head>
<body>
<svg width="2880" height="592">
<defs>
<pattern id="myid" patternunits="userSpaceOnUse" x="0" y="0" width="20" height="20">
<circle r="10" cx=12 cy=10 fill="purple">
</pattern>
</defs>
<rect class="patterned" height="27" width="58">
</svg>
</body>
</html>
Safari 显示一个空的蓝色轮廓,而 Firefox 和 Chrome 在其中显示圆点。我在实物中使用的对角线填充图案也有同样的问题。
我实际上偶然发现了一个奇怪的解决方法,适用于这个 sn-p,但不适用于真实的东西:在 url 之后将 none 更改为 yellow 在白色上显示紫色圆圈/所有三个浏览器的透明背景。不幸的是,当我在实际应用程序中这样做时,我得到了黄色背景并且没有图案。
【问题讨论】:
-
在
<svg>元素内移动样式标签有帮助吗? -
在
svg元素中移动style元素在这三个浏览器中的任何一个上都没有任何区别。