CSS中文本上的彩虹渐变

新手上路,请多包涵

在 CSS 中实现这种设计的最佳方式是什么?

在此处输入图像描述

和这个: 在此处输入图像描述

谢谢你的帮助!

原文由 Eric NEMO 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 629
2 个回答

以下是创建基本彩虹线性渐变的方法(尚未与文本集成):

 #grad1 {
    height: 200px;
    background: red; /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(left, orange , yellow, green, cyan, blue, violet); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(right, orange, yellow, green, cyan, blue, violet); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(right, orange, yellow, green, cyan, blue, violet); /* For Firefox 3.6 to 15 */
    background: linear-gradient(to right, orange , yellow, green, cyan, blue, violet); /* Standard syntax (must be last) */
}
 <div id="grad1"></div>

或者,您可以使用其中一种渐变生成器(我更喜欢 这个)。

这是文本集成:

 #grad1 {
    background: red;
    background: -webkit-linear-gradient(left, orange , yellow, green, cyan, blue, violet);
    background: -o-linear-gradient(right, orange, yellow, green, cyan, blue, violet);
    background: -moz-linear-gradient(right, orange, yellow, green, cyan, blue, violet);
    background: linear-gradient(to right, orange , yellow, green, cyan, blue, violet);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 20vw;
}
 <h1 id="grad1">Fake Text</h1>

这里的主要部分是 background-cliptext-fill-color 属性,但要做好准备,并非所有浏览器都支持它。有关这些页面底部附近具有相同名称的浏览器兼容性检查部分的更多信息:

背景剪辑

文本填充颜色

PS 画一条线很简单,你只需要使用渐变并定义一些样式来使这个块成为正确的形式,例如:

 #grad1 {
    background: red; /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(left, orange , yellow, green, cyan, blue, violet); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(right, orange, yellow, green, cyan, blue, violet); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(right, orange, yellow, green, cyan, blue, violet); /* For Firefox 3.6 to 15 */
    background: linear-gradient(to right, orange , yellow, green, cyan, blue, violet); /* Standard syntax (must be last) */
}

.line {
    height: 6px;
    border-radius: 4px;
}
 <div id="grad1" class="line"></div>

原文由 P.S. 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您需要为文本使用相同的渐变,请使用类似的东西。

     h1 {
  background: linear-gradient(to right, orange , yellow, green, cyan, blue, violet);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 60px;
  line-height: 60px;
}
 <h1>100% Unicorn</h1>

但是 Internet Explorer 不支持文本填充颜色。因此,最好在前景中使用透明的 png 或 svg。

原文由 Terence Hill 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏