组合框阴影和文本渐变

时间:2020-03-06 08:47:19

标签: css linear-gradients box-shadow

是否可以将文本渐变与框阴影结合起来? 请参阅示例图片以了解我到底要达到的目标。Example-Image

我已经实现了Gradient,但是我添加的框阴影出现在前景中。 我该怎么解决?

h2 {
    display: inline-block;
    background-image:linear-gradient(90deg,#c93718 0%,#035b34 30%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    box-shadow: inset 0px 30px white;
} 

希望获得帮助!

谢谢! (对不起我的英语)

2 个答案:

答案 0 :(得分:0)

尝试添加一个div,然后就可以解决位置问题。

h2 {
    display: inline-block;
    background-image:linear-gradient(90deg,#c93718 0%,#035b34 30%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    z-index: 999999;
    position: absolute;
    
}
div{
    background-color: gray;
    height: 30px;
    width: 140px;
    position: absolute;
    top: 22px;
}
<h2>This is Demo</h2>
<div></div>

答案 1 :(得分:0)

您可以尝试多种背景:

h2 {
    display: inline-block;
    font-size:50px;
    color:transparent;
    background-image:
      linear-gradient(90deg,#c93718 0%,#035b34 30%),
      linear-gradient(#ccc,#ccc);
    -webkit-background-clip: 
      text,
      padding-box;
    background-clip: 
      text,
      padding-box;
    -webkit-text-fill-color: transparent; 
}
<h2>A title here</h2>

由于已知错误:https://bugzilla.mozilla.org/show_bug.cgi?id=1571244

,这在Firefox上不起作用

作为Firefox的替代方法,请考虑伪元素:

h2 {
  display: inline-block;
  font-size: 50px;
  color: transparent;
  background-image: linear-gradient(90deg, #c93718 0%, #035b34 30%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}

h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: #ccc;
}
<h2>A title here</h2>