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

CSS/HTML实现文字发光后如何去除黑色背景框

问题:实现文字发光效果时出现黑色背景框,如何让文字背景完全透明?

我尝试用CSS实现文字发光效果,已经成功让文字发光,但出现了无法去除的黑色背景框,严重影响效果。希望文字背景完全透明,请问该如何解决?

相关代码如下:

CSS代码

.heading-secondary {
  font-size: 2.8rem;
  font-weight: 100;
  position: absolute;
  top: 10%; /* 110%; */
  /* font-size: 72px;*/
  background-image: none;
  background: -webkit-linear-gradient(#007CF0, #00DFD8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0px 0px 40px 20px #0ff;
}

HTML代码

<section class="second-page">
  <div class="our-news">
    <h1 class="heading-secondary">
      Why buy through us?
    </h1>
  </div>
</section>

问题说明:截图中渐变文字周围存在黑色矩形背景框,覆盖了整个标题元素区域,破坏了透明背景的需求。


解决方法

问题根源在于你使用了box-shadow属性——它是给整个元素的盒模型添加阴影,而非针对文字本身。结合你给文字设置的-webkit-text-fill-color: transparent,元素的空白背景区域加上过大的阴影扩散范围,就会出现你看到的黑色框。

正确做法是用text-shadow实现文字发光,替换掉box-shadow:

修改后的CSS代码:

.heading-secondary {
  font-size: 2.8rem;
  font-weight: 100;
  position: absolute;
  top: 10%;
  background: -webkit-linear-gradient(#007CF0, #00DFD8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 替换box-shadow为text-shadow */
  text-shadow: 0px 0px 40px #0ff;
}

如果需要更强烈的发光效果,可以叠加多层text-shadow:

text-shadow: 
  0 0 20px #0ff,
  0 0 40px #0ff,
  0 0 60px #0ff;

修改后,发光效果仅作用于文字,元素背景保持完全透明,黑色框的问题即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:40:23