SVG 标记中 refX、refY 的可能值
Possible values of refX, refY in an SVG marker
在W3C documentation中,我们可以看到svg <marker>
的refY
属性可以取值top
、center
、bottom
但是当我尝试时,出现以下错误:
Error: <marker> attribute refY: Expected length, "center".
这是一个片段,当你 运行 它时,你可以在浏览器控制台中看到错误(我在 Debian 上使用 Chrome 70.0.3538.77).我知道我可以将值 6
(在这种情况下)置于中心,我只是想知道我是否误解了文档或者它是否是一个错误。
svg{
background-color:lightblue;
}
<svg width="100" height="100">
<defs>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="0" refY="center" markerUnits="strokeWidth">
<path d="M0,0 L0,12 L12,6 z" fill="red" />
</marker>
</defs>
<line x1="0" y1="50" x2="50" y2="50" stroke="red" stroke-width="2" marker-end="url(#arrow)" />
</svg>
您看到的似乎是标记规范的废弃草案。
提议的 SVG 规范的下一版本是 SVG 2。这是由浏览器制造商实现的,尽管新功能的这种实现正如您所发现的那样参差不齐。您可以在该规范文本中看到
We will add top/center/bottom, left/center/right keywords to refX/refY on marker/symbol. Resolved at London F2F. Values inspired by 'background-position'.
SVG 1.1 text 不支持顶部、中心或底部。如果您坚持使用 SVG 1.1 中的内容,您就更有可能成功。
在某些时候,SVG 2 要么包含新功能,因为大多数浏览器都支持它,要么新功能将从规范中删除。目前 SVG 2 仍在进行中,作为规范和浏览器的目标。
在W3C documentation中,我们可以看到svg <marker>
的refY
属性可以取值top
、center
、bottom
但是当我尝试时,出现以下错误:
Error: <marker> attribute refY: Expected length, "center".
这是一个片段,当你 运行 它时,你可以在浏览器控制台中看到错误(我在 Debian 上使用 Chrome 70.0.3538.77).我知道我可以将值 6
(在这种情况下)置于中心,我只是想知道我是否误解了文档或者它是否是一个错误。
svg{
background-color:lightblue;
}
<svg width="100" height="100">
<defs>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="0" refY="center" markerUnits="strokeWidth">
<path d="M0,0 L0,12 L12,6 z" fill="red" />
</marker>
</defs>
<line x1="0" y1="50" x2="50" y2="50" stroke="red" stroke-width="2" marker-end="url(#arrow)" />
</svg>
您看到的似乎是标记规范的废弃草案。
提议的 SVG 规范的下一版本是 SVG 2。这是由浏览器制造商实现的,尽管新功能的这种实现正如您所发现的那样参差不齐。您可以在该规范文本中看到
We will add top/center/bottom, left/center/right keywords to refX/refY on marker/symbol. Resolved at London F2F. Values inspired by 'background-position'.
SVG 1.1 text 不支持顶部、中心或底部。如果您坚持使用 SVG 1.1 中的内容,您就更有可能成功。
在某些时候,SVG 2 要么包含新功能,因为大多数浏览器都支持它,要么新功能将从规范中删除。目前 SVG 2 仍在进行中,作为规范和浏览器的目标。