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

全站统一将指定词段设置为Small Caps的实现方案求助

全站实现“ulum”词段Small Caps的解决方案

核心思路:批量处理替代局部修改

无需逐个调整页面内容,通过CSS或JavaScript实现全站自动匹配“ulum”并应用Small Caps样式,以下是两种可靠方案:

方案1:CSS全局匹配+自定义属性

给全站所有包含公司名称的元素统一添加专属类名(比如company-brand),再通过CSS伪元素实现样式替换:

.company-brand {
  position: relative;
  visibility: hidden; /* 隐藏原文本 */
}
.company-brand::after {
  content: attr(data-brand);
  font-variant: small-caps;
  position: absolute;
  top: 0;
  left: 0;
  visibility: visible; /* 显示带样式的文本 */
}

使用时只需给包含公司名称的元素添加属性:

<span class="company-brand" data-brand="MyUlamCompany">MyUlamCompany</span>

如果公司名称固定,还可以直接在CSS的content中写死,无需每个元素加属性。

方案2:JavaScript批量文本替换

通过JS遍历页面所有文本节点,自动给“ulum”包裹样式标签,一次性覆盖全站:

function applyUlamSmallCaps() {
  const ulamRegex = /ulum/gi;
  // 遍历所有文本节点,跳过脚本和样式标签
  const textNodes = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false);
  let currentNode;
  while (currentNode = textNodes.nextNode()) {
    const parentTag = currentNode.parentElement.tagName;
    if (parentTag !== 'SCRIPT' && parentTag !== 'STYLE') {
      const originalText = currentNode.textContent;
      const modifiedText = originalText.replace(ulamRegex, '<span style="font-variant: small-caps">$&</span>');
      if (modifiedText !== originalText) {
        const wrapper = document.createElement('span');
        wrapper.innerHTML = modifiedText;
        currentNode.parentNode.replaceChild(wrapper, currentNode);
      }
    }
  }
}
// 页面加载完成后执行
window.addEventListener('load', applyUlamSmallCaps);

把这段代码放到全站通用的JS文件里,打开任何页面都会自动生效。

之前方法无效的原因

  • 局部<span>标签:仅能作用于单个元素,无法批量覆盖全站所有出现“ulum”的位置,工作量大是必然结果。
  • 段落样式写法:仅对指定类的段落生效,若公司名称出现在导航栏、按钮、页脚等非段落元素中,就无法覆盖,导致全站生效失败。

内容的提问来源于stack exchange,提问作者Irina C. Kotal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:45:50