【问题标题】:I can't make the inner shadow of text (an incorrect result)我无法制作文本的内部阴影(结果不正确)
【发布时间】:2025-12-22 09:15:11
【问题描述】:

在为文本创建内阴影时遇到问题。我试过这个方法(有些css在这样的在线编译器中不起作用,但是代码是可见的):

.text {
  background-color: #565656;
  font-size: 35px;
  color: transparent;
  text-shadow: 0px 2px 3px rgba(255,255,255,0.5);
  -webkit-background-clip: text;
     -moz-background-clip: text;
          background-clip: text;
}
<div class="text">
Text
</div>

结果是浅灰色文本,但我需要不同颜色的文本。当我尝试更改文本颜色和阴影颜色(不是 alpha)时,很明显,“背景剪辑:文本;”不切掉文本区域的阴影,我看到字母轮廓外有一个模糊的轮廓。

会发生这种情况(这里的文字和阴影颜色是错误的,但重叠是可见的):

这就是我需要的:

【问题讨论】:

  • 所有浏览器都有这个问题吗?还是其中几个?
  • @Paulie_D 谢谢你,但这里同样的问题,你可以看看你是否改变了背景颜色:jsfiddle.net/L83jntfw 我的背景是与文本不同颜色的重复图案。
  • 那么我建议你把自己设计成一个 CSS 无法让你摆脱的角落。对不起! :)
  • @Mojtaba 它就像在谷歌浏览器中的屏幕截图上一样,在 Firefox 中它完全错误:prnt.sc/c7w6o0

标签: html css


【解决方案1】:

通过使用与主阴影颜色相同的背景颜色是可能的,可能还有其他方法,但这是我所知道的最常见的一种。

源码——https://codepen.io/vincicat/pen/zikrC

body {
  /* This has to be same as the text-shadows below */
  background: #def;
}

h1 {
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-size: 2em;
  line-height: 1em;
  text-align:center;
}

.inset-text {
  /* Shadows are visible under slightly transparent text color */
  color: rgba(10, 60, 150, 0.8);
  text-shadow: 1px 4px 6px #def, 0 0 0 #000, 1px 4px 6px #def;
}

/* Don't show shadows when selecting text */
::-moz-selection, ::selection {
  background: #5af;
  color: #fff;
  text-shadow: none;
}
&lt;h1 class="inset-text"&gt;Inset text-shadow trick&lt;/h1&gt;

【讨论】:

  • 非常感谢,但我的背景上的图案与文字颜色和阴影颜色不同...
【解决方案2】:

    .text {
  font-size: 50px;
  display:flex;
  justify-content: center;
  font-stretch: ultra-expanded;
  color: rgb(96, 32, 24);
background-color: rgb(186, 186, 186);
background-image: url(http://previews.123rf.com/images/auborddulac/auborddulac1201/auborddulac120100059/12000991-Dotted-yellow-background-Stock-Photo.jpg);
text-shadow: rgb(224, 224, 224) 1px 1px 0px;
}
<div class="text">
Text
</div>

【讨论】:

  • 非常感谢,它给了我一个浮雕轮廓文本,但它需要彩色背景。在我的情况下,背景是不同颜色的图案。而且,据我了解,它不会创建内部阴影,而是以阴影的颜色绘制文本。
  • @MaximVelichkin 检查当前答案...使用了背景图片
  • 非常感谢,这是创建突出文本轮廓的好方法!但我需要一点不同的效果(我需要文本有一个内阴影,颜色与文本的颜色不同)。
最近更新 更多