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

Unbounded字体副标题透明文字描边异常问题求助

解决Unbounded字体透明描边的线条交叉问题

问题原因

Unbounded字体的部分字形内部存在重叠的闭合路径,当使用CSS描边(-webkit-text-stroke)或SVG描边时,浏览器会对每个独立路径单独绘制描边,从而出现线条交叉的视觉异常;而Open Sans这类字体的字形路径设计更简洁,无重叠路径,因此不会出现该问题。

解决方案

方案1:SVG滤镜模拟描边(推荐)

通过SVG滤镜膨胀文字轮廓实现描边,完全避免路径重叠导致的交叉问题:

修改SVG代码如下:

<svg width="600" height="75" viewBox="0 0 600 75">
  <title>Example Text Subtitle SVG Filter Stroke</title>
  <!-- 定义描边滤镜 -->
  <filter id="textStroke" x="-20%" y="-20%" width="140%" height="140%">
    <feMorphology operator="dilate" radius="1" in="SourceAlpha" result="thicken"/>
    <feFlood flood-color="#fff" result="whiteFill"/>
    <feComposite in="whiteFill" in2="thicken" operator="in" result="stroke"/>
    <feMerge>
      <feMergeNode in="stroke"/>
    </feMerge>
  </filter>
  <g style="text-anchor: middle; font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 48px;">
    <text x="300" y="55" style="fill: transparent; filter: url(#textStroke);">
      Example text Subtitle (SVG Filter Stroke)
    </text>
  </g>
</svg>

方案2:优化CSS描边渲染

针对CSS描边方式,添加渲染优化属性,部分场景下可缓解交叉问题:

.heading--stroke {
  color: transparent;
  -webkit-text-stroke: 1px #fff;
  -webkit-text-fill-color: transparent;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

效果说明

  • 方案1通过滤镜生成描边,不受字体内部路径结构影响,效果稳定且无交叉;
  • 方案2仅为渲染优化,无法彻底解决所有字形的交叉问题,仅作为备选方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:02:08