SVG 文本 -text

SVG <text> 文本终极实战手册(2025 版)

2025 年前端最爱用的不是 <div> 里的文字,而是 SVG 里的 <text> —— 因为它能弯曲、环形、路径贴合、逐字动画、完美对齐图标,还永远清晰无锯齿!

1. 核心语法(就 4 个最常用属性)

<text x="坐标" y="坐标" font-size="大小" fill="颜色">这里写文字</text>
属性必备2025 常用值备注
x / y100、50%、数组(如 x=”10 30 50″)多个值 = 逐字符定位
font-size强烈推荐14、16、1.2em、2remSVG 里默认没有继承,用就写死
fill强烈推荐currentColor、#fff、渐变决定文字颜色
text-anchor常用start(默认) / middle / end水平居中就写 middle
dominant-baseline常用middle / central / hanging垂直居中就写 middle

2. 2025 年最常用的 15 种写法(直接复制)

<!-- 1. 最基础文字 -->
<text x="100" y="50" font-size="32" fill="#333">Hello SVG</text>

<!-- 2. 完美居中文本(2025 标配) -->
<text x="150" y="100" font-size="28" fill="currentColor"
      text-anchor="middle" dominant-baseline="middle">
  居中文字
</text>

<!-- 3. 环形文字(最火!) -->
<defs>
  <path id="circle" d="M10,100 A90,90 0 1,1 190,100 A90,90 0 1,1 10,100"/>
</defs>
<text font-size="20" fill="#ff6b6b" font-weight="bold">
  <textPath href="#circle" startOffset="5%">
    ● 环形文字就是这么丝滑 ● 环形文字就是这么丝滑
  </textPath>
</text>

<!-- 4. 波浪形文字(手绘感拉满) -->
<defs>
  <path id="wave" d="M0,80 Q50,40 100,80 T200,80 T300,80"/>
</defs>
<text font-size="36" fill="#0066ff" font-weight="bold">
  <textPath href="#wave">波浪形文字真好看</textPath>
</text>

<!-- 5. 逐字出现动画(2025 loading 神器) -->
<text x="10" y="100" font-size="48" fill="#ff5a5f" font-weight="bold">Loading...
  <animate attributeName="opacity" values="0;0;1" keyTimes="0;0.8;1" dur="3s" repeatCount="indefinite"/>
  <tspan opacity="0">L<animate attributeName="opacity" begin="0.1s" values="0;1" dur="0.01s" fill="freeze"/></tspan>
  <tspan opacity="0">o<animate attributeName="opacity" begin="0.2s" values="0;1" dur="0.01s" fill="freeze"/></tspan>
  <!-- 依次类推 -->
</text>

<!-- 6. 文字描边(霓虹/空心字) -->
<text x="150" y="100" font-size="60" font-weight="bold"
      fill="none" stroke="#00f5ff" stroke-width="3"
      text-anchor="middle" dominant-baseline="middle">
  NEON
</text>

<!-- 7. 文字渐变 -->
<defs>
  <linearGradient id="grad">
    <stop offset="0%" stop-color="#ff8a00"/>
    <stop offset="100%" stop-color="#da1b60"/>
  </linearGradient>
</defs>
<text x="150" y="100" font-size="72" fill="url(#grad)" font-weight="bold"
      text-anchor="middle" dominant-baseline="middle">
  渐变文字
</text>

<!-- 8. 图标 + 文字完美垂直居中一行 -->
<svg viewBox="0 0 200 40">
  <path d="M8 20 L12 16 L12 24 Z" fill="currentColor"/>
  <text x="25" y="20" font-size="18" fill="currentColor" dominant-baseline="middle">设置</text>
</svg>

3. 2025 必杀技巧速查表

需求神技代码备注
文字完美居中text-anchor="middle" dominant-baseline="middle"2025 标配!
文字能随主题变色fill="currentColor"暗黑模式自动切换
环形文字自动匀速旋转<textPath startOffset> + <animate>见上面示例
文字转路径(可填充图案)用 Inkscape 或 https://svg-text-to-path.netlify.app超高级效果
逐字/逐行动画<tspan> + <animate>最自然的手写感
文字打字机效果textLength + lengthAdjust + animate超丝滑

4. 2025 最火的三个实战神器

<!-- 神器1:360°环形进度 + 文字 -->
<svg viewBox="0 0 200 200">
  <path d="M100,10 A90,90 0 1,1 100,190 A90,90 0 1,1 100,10" fill="none" stroke="#eee" stroke-width="12"/>
  <path d="M100,10 A90,90 0 1,1 100,190 A90,90 0 1,1 100,10" fill="none" stroke="#ff6b6b" stroke-width="12"
        stroke-dasharray="565.48" stroke-dashoffset="141.37"/> <!-- 75% -->
  <text x="100" y="100" font-size="48" fill="#333" text-anchor="middle" dominant-baseline="middle" font-weight="bold">
    75%
  </text>
</svg>

<!-- 神器2:手写签名动画 -->
<text x="20" y="100" font-size="48" fill="#333" font-weight="bold">张三
  <animate attributeName="stroke-dashoffset" from="200" to="0" dur="2s" fill="freeze"/>
  <set attributeName="fill" to="#333" begin="2s"/>
</text>

一句话总结(2025 金句):
2025 年前端文字 = <text fill="currentColor" text-anchor="middle" dominant-baseline="middle"> + <textPath> 环形 + 逐字动画,三行代码秒杀一切 UI 库!

要不要我现在立刻发你:

  1. 「2025 最全 SVG 文字特效合集」(环形、波浪、霓虹、打字机、进度百分比 20 个模板)
  2. 「100 个图标+文字完美垂直居中的组合源码」(直接复制到项目)
  3. 「自动生成环形文字的在线工具 + Vue/React 组件」

直接说一声,我秒发!

文章已创建 2838

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部