<textPath>

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

<textPath> SVG 元素用于沿 <path> 元素的形状渲染文本。文本必须包含在 <textPath> 元素内,并且其 href 属性用于引用所需的 <path>

使用语境

分类文本内容元素,文本内容子元素
允许内容字符数据以及任意数量的以下元素,顺序任意
描述性元素
<a><animate><discard><set><tspan>

属性

href

用于渲染文本的路径或基本形状的 URL。如果设置了 path 属性,href 将不起作用。值类型<URL>默认值:无;可动画

长度调整

在文本上应用长度调整的位置:字形之间的间距,或间距和字形本身。值类型spacing | spacingAndGlyphs默认值spacing可动画

method(方法)

沿路径渲染单个字形的方法。值类型align | stretch默认值align可动画

path 实验性

文本应渲染的路径。值类型<path_data>默认值:无;可动画

side 实验性

文本应渲染在路径的哪一侧。值类型left | right默认值left可动画

间距

如何处理字形之间的空格。值类型auto | exact默认值exact可动画

起始偏移

文本开头距离路径开头的偏移量。值类型<length> | <percentage> | <number>默认值0可动画

文本长度

文本将渲染的空间的宽度。值类型<length> | <percentage> | <number>默认值auto可动画

DOM 接口

此元素实现了 SVGTextPathElement 接口。

示例

html
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <!-- to hide the path, it is usually wrapped in a <defs> element -->
  <!-- <defs> -->
  <path
    id="MyPath"
    fill="none"
    stroke="red"
    d="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50" />
  <!-- </defs> -->

  <text>
    <textPath href="#MyPath">Quick brown fox jumps over the lazy dog.</textPath>
  </text>
</svg>

规范

规范
Scalable Vector Graphics (SVG) 2
# TextPathElement

浏览器兼容性