在模式中使用vector-effect ="non-scaling-stroke"时,我没有在Firefox或Chrome中获得预期的结果,尽管Opera按预期工作...
例:
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" height="100px" width="1000px">
<defs>
<pattern id="ticks" viewBox="0 0 12 4" preserveAspectRatio="none" height="100%" width="10%">
<path stroke="#000" vector-effect="non-scaling-stroke" d="M 0 0 L 0 4 M 1 0 L 1 1 M 2 0 L 2 1 M 3 0 L 3 2 M 4 0 L 4 1 M 5 0 L 5 1 M 6 0 L 6 3 M 7 0 L 7 1 M 8 0 L 8 1 M 9 0 L 9 2 M 10 0 L 10 1 M 11 0 L 11 1" />
</pattern>
</defs>
<rect width="100%" height="100%" fill="url(#ticks)" />
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或者这是WebKit和Gecko中的错误?如果它是一个错误,是否有人知道一个解决方法?
谢谢你的帮助.
我没有 Opera 来测试这个解决方案,但它似乎在 Chrome 和 Firefox 上达到了预期的结果。
@galdre是对的。您需要定义stroke-width(下面分配了一个值0.1)。另外,你错过了一个结束语</svg>:
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" height="100px" width="1000px">
<defs>
<pattern id="ticks" viewBox="0 0 12 4" preserveAspectRatio="none" height="100%" width="10%">
<path stroke-width="0.1" stroke="#000" vector-effect="non-scaling-stroke" d="M 0 0 L 0 4 M 1 0 L 1 1 M 2 0 L 2 1 M 3 0 L 3 2 M 4 0 L 4 1 M 5 0 L 5 1 M 6 0 L 6 3 M 7 0 L 7 1 M 8 0 L 8 1 M 9 0 L 9 2 M 10 0 L 10 1 M 11 0 L 11 1" />
</pattern>
</defs>
<rect width="100%" height="100%" fill="url(#ticks)" />
</svg>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1448 次 |
| 最近记录: |