css动态彩虹背景,如何用纯 CSS 创作彩虹背景文字

CSS3 渐变(Gradients)

https://www.runoob.com/css3/css3-gradients.html

e2bb0111b7c6a48bbec506357f9820c7.png

效果预览

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

https://codepen.io/comehope/pen/jKxyXN

可交互视频

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

https://scrimba.com/p/pEgDAM/cZ8LNA7

源代码下载

每日前端实战系列的全部源代码请从 github 下载:

https://github.com/comehope/front-end-daily-challenges

整体代码:

body {

margin: 0;

height: 100vh;

display: flex;

align-items: center;

justify-content: center;

background-color: black;

}

p {

font-size: 20vw;

margin: 0;

color: white;

font-family: sans-serif;

font-weight: bold;

text-transform: uppercase;

background-image: linear-gradient(

to right,

orangered,

orange,

gold,

lightgreen,

cyan,

dodgerblue,

mediumpurple,

hotpink,

orangered);

background-size: 110vw;

animation: sliding 30s linear infinite;

-webkit-background-clip: text;

-webkit-text-fill-color: transparent;

}

@keyframes sliding {

to {

background-position: -2000vw;

}

}

thanks

代码解读

定义 dom,容器中有一段文本:

thanks

居中显示:

body {

margin: 0;

height: 100vh;

display: flex;

align-items: center;

justify-content: center;

background-color: black;

}

定义文字样式:

p {

font-size: 20vw;

color: white;

font-family: sans-serif;

text-transform: uppercase;

font-weight: bold;

}

设置彩虹背景:

p {

background-image: linear-gradient(

to right,

orangered,

orange,

gold,

lightgreen,

cyan,

dodgerblue,

mediumpurple,

hotpink,

orangered);

background-size: 110vw;

}

定义动画效果:

p {

animation: sliding 30s linear infinite;

}

@keyframes sliding {

to {

background-position: -2000vw;

}

}

最后,把彩虹背景移到文字下面:

p {

-webkit-background-clip: text;

-webkit-text-fill-color: transparent;

}

大功告成!

复制另一篇带注释

html, body {

margin: 0;

padding: 0;

}

/* 设置body的子元素水平垂直居中 */

body {

height: 100vh;

display: flex;

justify-content: center;

align-items: center;

background-color: black;

}

/* 设置p中文字样式 */

p{

color: white;

/* 1. font 文档地址: http://www.w3school.com.cn/cssref/pr_font_font.asp ;

* 2.vw : 视口宽度 , vh : 视口高度 ;

*/

font: bold 20vw sans-serif;

text-transform: uppercase;

/* 设置彩虹背景 */

background-image: linear-gradient(

to right,

orangered,

orange,

gold,

lightgreen,

cyan,

dodgerblue,

mediumpurple,

hotpink,

orangered

);

background-size: 110vw;

/* 添加动画 sliding: 滑行的 */

animation: sliding 30s linear infinite;

/* 将背景颜色赋值给文字,文档地址: https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip

1、-moz代表firefox浏览器私有属性

2、-ms代表ie浏览器私有属性

3、-webkit代表safari、chrome私有属性

*/

background-clip: text;

-webkit-background-clip: text;

color: transparent;

}

@keyframes sliding {

to {

background-position: -2000vw;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值