You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SVG内text文本无法设置加粗效果,是什么原因导致的?

问题原因及解决方案

1. 第一个文本无渲染内容

你代码中第一个<text>标签内部为空,就算font-weight设置正确也看不到任何效果,先补充测试内容验证效果:

<text text-anchor="middle" x="60" y="110" font-weight="900" >测试900字重文本</text>

2. 样式优先级/覆盖问题

你当前只给.speed-description设置了字号,没有显式指定字重,很可能被父级样式、全局默认样式覆盖了加粗设置,可按优先级从高到低测试:

  • 优先测试内联样式(优先级最高,可排除其他样式干扰):
<text text-anchor="middle" x="60" y="120" style="font-weight: bold;" class="speed-description">
  {{ speedDescription }}
</text>
  • 如果内联样式生效,再调整CSS样式,显式指定字重即可:
.speed-description {
  font-size: calculate-rem(9px);
  font-weight: bold; /* 新增字重设置 */
}
  • 如果你用的是Vue/Angular等带scoped样式的框架,需要用深度选择器命中SVG内部元素,以Vue3为例:
:deep(.speed-description) {
  font-size: calculate-rem(9px);
  font-weight: bold;
}

3. 字体字重支持问题

如果你当前页面使用的自定义字体没有内置bold/900的字重包,无论怎么设置都不会显示加粗效果,可指定系统默认带加粗的字体测试:

.speed-description {
  font-size: calculate-rem(9px);
  font-weight: bold;
  font-family: "Microsoft Yahei", "PingFang SC", sans-serif;
}

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:18:02