带有渐变和渐变轮廓的CSS文本

时间:2018-02-14 19:52:49

标签: css linear-gradients

我似乎找不到任何人或任何人这样做过。我试图限制我们使用的图像数量,并希望创建一个带有渐变的文本作为其颜色"并且在它周围有一个梯度轮廓/笔划

到目前为止,我还没有看到任何将两者结合在一起的东西。

我可以自己完成文本渐变,文本轮廓渐变也可以自己完成。有没有办法将两个合并为一个?

h1 {
  text-transform: uppercase;
  font-size: 50px;
  font-weight: 800;
  color: rgb(255, 255, 255);
  background-image: linear-gradient(
    rgb(255, 255, 255) 46%,
    rgb(125, 142, 167) 49%,
    rgb(211, 226, 249) 80%
  );
  text-align: center;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px rgb(0, 0, 0);
}
h1::first-letter {
  font-size: 125%;
}

h2 {
  font-size: 50px;
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
  background: -webkit-linear-gradient(
    -86deg,
    #eef85b 5%,
    #7aec8d 53%,
    #09e5c3 91%
  );
  -webkit-background-clip: text;
  -webkit-text-stroke: 4px transparent;
  color: #232d2d;
}
h2::first-letter {
  font-size: 125%;
}

https://codepen.io/deelite310/pen/OQxXrR

2 个答案:

答案 0 :(得分:0)

我也很想看到这个...... 但是,我看到这个完成的唯一方法是使用svg文本。 这里有一些很好的信息......

SVG Tutorials

答案 1 :(得分:0)

我之前实现了一个技巧,即使用“ data- *”属性和z-index为-1的伪before选择器。然后,您需要根据需要删除font-variant: small-caps的第一个字母伪。

  

注意:使用z-index=-1向后抛出图层可能会与其他具有z-index的元素重叠。

h1, h2, h3 {
  font-variant: small-caps;
  font-size: 50px;
  font-weight: 800;
  text-align: center;
  -webkit-background-clip: text;
}

h1, h3 {
  color: rgb(255, 255, 255);
  background-image: linear-gradient(
    rgb(255, 255, 255) 46%,
    rgb(125, 142, 167) 49%,
    rgb(211, 226, 249) 80%
  );
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px rgb(0, 0, 0);
}

h2, h3::before {
  background: -webkit-linear-gradient(
    -86deg,
    #eef85b 5%,
    #7aec8d 53%,
    #09e5c3 91%
  );
  -webkit-background-clip: text;
  -webkit-text-stroke: 4px transparent;
  color: #232d2d;
}

h3::before {
  content: attr(data-text);
  position: absolute;
  z-index: -1;
}
<h1>Character</h1>
<h2>Character</h2>
<h3 data-text="Character">Character</h3>