SVG 标记中 refX、refY 的可能值

Possible values of refX, refY in an SVG marker

W3C documentation中,我们可以看到svg <marker>refY属性可以取值topcenterbottom 但是当我尝试时,出现以下错误:

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 仍在进行中,作为规范和浏览器的目标。