纯 CSS 制作的彩虹条纹文字

article/2025/9/28 16:24:26

效果预览

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

https://codepen.io/comehope/pen/ELpRxj点击预览

可交互视频教程

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

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

https://scrimba.com/c/czrWDfZ

源代码下载

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

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

代码解读

定义 dom,容器中包含文本,并且包含4个 <span> 用于特效,<span> 的 data-text 属性值为与文本相同:

<p class="rainbow">web<span data-text="web"></span><span data-text="web"></span><span data-text="web"></span><span data-text="web"></span>
</p>

居中显示:

html, body {height: 100%;display: flex;align-items: center;justify-content: center;background: black;
}

定义文本样式:

.rainbow {color: white;font-size: 300px;text-transform: uppercase;font-family: sans-serif;font-weight: bold;line-height: 1em;position: relative;
}

用伪元素增加图层,形成彩虹效果:

.rainbow span::before,
.rainbow span::after {content: attr(data-text);position: absolute;top: 0;left: 0;overflow: hidden;
}.rainbow span:nth-child(1)::before {color: orchid;z-index: 1;height: calc(100% - 10% * 1);
}.rainbow span:nth-child(1)::after {color: mediumpurple;z-index: 2;height: calc(100% - 10% * 2);
}.rainbow span:nth-child(2)::before {color: deepskyblue;z-index: 3;height: calc(100% - 10% * 3);
}.rainbow span:nth-child(2)::after {color: cyan;z-index: 4;height: calc(100% - 10% * 4);
}.rainbow span:nth-child(3)::before {color: mediumspringgreen;z-index: 5;height: calc(100% - 10% * 5);
}.rainbow span:nth-child(3)::after {color: yellow;z-index: 6;height: calc(100% - 10% * 6);
}.rainbow span:nth-child(4)::before {color: gold;z-index: 7;height: calc(100% - 10% * 7);
}.rainbow span:nth-child(4)::after {color: tomato;z-index: 8;height: calc(100% - 10% * 8);
}

增加动画效果:

.rainbow span::before,
.rainbow span::after {animation: animate 0.8s infinite alternate;filter: opacity(0);
}@keyframes animate {from {filter: opacity(0);}to {filter: opacity(1);}
}

为图层设置延时,增强动感:

.rainbow span:nth-child(1)::before {animation-delay: calc(0.8s - 0.1s * 1);
}.rainbow span:nth-child(1)::after {animation-delay: calc(0.8s - 0.1s * 2);
}.rainbow span:nth-child(2)::before {animation-delay: calc(0.8s - 0.1s * 3);
}.rainbow span:nth-child(2)::after {animation-delay: calc(0.8s - 0.1s * 4);
}.rainbow span:nth-child(3)::before {animation-delay: calc(0.8s - 0.1s * 5);
}.rainbow span:nth-child(3)::after {animation-delay: calc(0.8s - 0.1s * 6);
}.rainbow span:nth-child(4)::before {animation-delay: calc(0.8s - 0.1s * 7);
}.rainbow span:nth-child(4)::after {animation-delay: calc(0.8s - 0.1s * 8);
}

最后,把原始文本设置为透明色:

.rainbow {color: transparent;
}

大功告成!

知识点

  • content https://developer.mozilla.org/en-US/docs/Web/CSS/content
  • attr() https://developer.mozilla.org/en-US/docs/Web/CSS/attr
  • calc() https://developer.mozilla.org/en-US/docs/Web/CSS/calc
  • z-index https://developer.mozilla.org/en-US/docs/Web/CSS/z-index

  • :nth-child() https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child

Fundebug提供JavaScript监控,支持所有主流前端框架,微信小程序监控,微信小游戏监控,后端Node.js监控。

您可能感兴趣的

  1. 详解1000+项目数据分析出来的10大JavaScript错误
  2. 10个用Console来Debug的高级技巧
  3. Fundebug支持区分Source Map版本
  4. Debug前端HTML/CSS

原文链接:https://segmentfault.com/a/1190000014858628


http://chatgpt.dhexx.cn/article/wrPXN72L.shtml

相关文章

关于彩虹表的介绍

彩虹表 1.彩虹表产生背景 起初黑客们通过字典穷举的方法进行破解&#xff0c;这对简单的密码和简单的密码系统是可行的&#xff0c;但对于复杂的密码和密码系统&#xff0c;则会产生无穷大的字典。 哈希加密算法是不可逆的&#xff0c;也就是说无论是网站的数据库管理员还是获…

彩虹形成原理

彩虹形成原理 本文摘自书籍《有趣的透镜》对于彩虹形成原理的探索&#xff0c;先从折射引起的散射开始吧&#xff01;最先解释了彩虹发生的基本原理的是,前面提到的笛卡儿和牛顿。 笛卡儿–光的折射 笛卡儿提到了光的折射&#xff0c;在笛卡儿斯涅尔定律中提到&#xff1a;入射…

Js实现彩虹文字

在文本框中输入文字&#xff0c;点击提交按钮或按回车键Ctrl键实现将文字添加在页面上&#xff0c;并采用彩虹颜色的形式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatib…

ps入门第6天_ps渐变字_彩色字 案例:彩虹桥or彩虹字特效

1、获得文字图层&#xff0c;形成文字选区 按住ctrl&#xff0c;同时点击文字图层的T。 2、新建一个图层 文字图层不是一个像素图层&#xff0c;不能编辑&#xff0c;所以要新建一个图层 3、添加渐变色 选择七彩色&#xff0c;然后点击确定&#xff0c;关闭渐变编辑器。 然后…

彩虹

彩虹 该程序是 EasyX 帮助中带的范例程序。略作修改 执行效果如下&#xff1a; 完整源代码如下&#xff1a; // 程序名称&#xff1a;彩虹 // 编译环境&#xff1a;Visual Studio 2013&#xff0c;EasyX 2017-9-19 // 最后更新&#xff1a;2018-12-8 // #include <grap…

Python绘制彩虹

彩虹 1. 列表&#xff08;颜色盒子&#xff09;1.1 概述1.2 颜色盒子使用方法 2. 坐标移动2.1 setx( )2.2 sety( ) 3. 绘制彩虹3.1 彩虹形状3.2 彩虹线条 4. 完整代码5. 颜色跑道 1. 列表&#xff08;颜色盒子&#xff09; 1.1 概述 1.2 颜色盒子使用方法 from turtle impor…

彩虹表(rainbow table)

1 彩虹表引入 在看微众银行开源的WeIdentity规范中的可验证凭证Credential数据结构时&#xff0c;看到有关于防止彩虹表方式反向破解哈希的问题&#xff0c;如下图所示。 在执行选择性披露用户的信息时&#xff0c;是将claim中的其他字段内容进行hash&#xff0c;只披露其中某…

【每日一练】64—CSS实现彩虹文字的动画效果

写在前面 最近有好几个小伙伴来问我&#xff0c;说【每日一练】里的gif动画是用什么软件录制的&#xff0c;在这里&#xff0c;我统一说一下&#xff0c;我录gif动画的工具是&#xff0c;LICEcap&#xff0c;录出来的文件&#xff0c;是默认为gif格式的。 在这里&#xff0c;我…

UGUI之Text彩虹字

博客迁移 个人博客站点&#xff0c;欢迎访问&#xff0c;www.jiingfengji.tech UGUI之Text彩虹字 脚本Rainbow直接挂在Text下 使得每个字母或者汉字均为一种随机颜色 Rainbow脚本如下&#xff1a; using UnityEngine; using System.Collections; using UnityEngine.UI; usi…

html 彩虹字体,拿来就用,超炫彩虹字体送你了

原标题&#xff1a;拿来就用&#xff0c;超炫彩虹字体送你了 还记得小编以前提过的2017设计趋势吗?里面就说到了色彩的渐变和叠加是目前的潮流。其中运用的最广泛的就有彩虹字。一般情况下&#xff0c;要做好彩虹字&#xff0c;那就需要设计师一个一个字来填充颜色、图层叠加&…

关于彩虹表

一、什么是彩虹表&#xff1f; 彩虹表&#xff08;Rainbow Tables&#xff09;就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合&#xff0c;不一定是针对MD5算法的&#xff0c;各种算法的都有&#xff0c;有了它可以快速的破解各类密码。越是复杂的密码&#…

JS实现彩虹字

效果图 html代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible&quo…

利用彩虹线课程中的知识来制作精美的渐变色块和彩虹字

彩虹字 像这样的效果,同样我们可以使用“渐变色”的技巧。来看下面如何操作 选中字体,然后鼠标右键选”设置型状格式“ 选择“渐变” 有两处决定了彩虹字的样式。 拖动的箭头,这个箭头代表“每一个段”显示的色彩,如我DEMO中的字体是“两段颜色”-蓝+黄组合出来的;角度,…

CSS 彩虹字 动态彩虹字

1. 静态彩虹字 // html <div class"this-div">Elegant and Beautiful</div>// css .this-div{margin: 20px;width: 200px;background: linear-gradient(90deg, red, blue);-webkit-text-fill-color: transparent;-webkit-background-clip: text;// 以区块…

网络攻击-arp攻击

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 网络攻击-arp攻击 文章目录 系列文章目录ARP 攻击 原理一、结构体设计&#xff1f;MACIP headerARP 头 二、测试代码1.arp reply 接口 总结 ARP 攻击 原理 提示&#xff…

ARP欺骗——断网攻击

准备&#xff1a; 1.kali虚拟机&#xff08;我用的2021.1版本&#xff0c;其它版本也可以&#xff09; 2.在同一个局域网&#xff08;比如同一个wifi&#xff09; 3.无线网卡&#xff08;3070L或者8187L&#xff0c;网上有卖&#xff09; 注意&#xff1a;无线网卡可有可无…

Kali实现局域网ARP欺骗和ARP攻击

Kali实现局域网ARP欺骗和ARP攻击 ------跳跳龙 所谓ARP攻击&#xff0c;就是伪造IP和MAC地址进行的攻击或者欺骗&#xff0c;但是在我看来&#xff0c;ARP攻击和ARP欺骗应该是两个概念&#xff0c;ARP攻击所产生的效果就是使目标主机&#xff08;当然这里默认的是局域网&#x…

ARP攻击详细讲解

1.ARP: 地址解析协议 把已知IP地址&#xff0c;解析成Mac地址 网络通信的基础协议 注&#xff1a;ARP协议分为两种包类型 ARP request 请求包 ARP reply 回应包 2.ARP攻击和欺骗 利用ARP协议的漏洞&#xff08;无分辨接受任何主机…

局域网ARP欺骗

目录 1.找到网关IP 2.扫描局域网内的主机 3.进行ARP欺骗 4.开启端口转发 5.使用driftnet进行图片嗅探 ARP欺骗&#xff1a; ARP欺骗&#xff08;ARP spoofing&#xff09;&#xff0c;又称ARP毒化&#xff08;ARP poisoning&#xff0c;网络上多译为ARP病毒&#xff09;或…

ARP-断网攻击

测试环境&#xff08;kali&#xff1a;192.168.189.7&#xff0c;win7:192.168.189.6&#xff0c;网关&#xff1a;192.168.189.2&#xff09; arpspoof -i eth0 -t 192.168.189.6 192.168.189.2 &#xff08;目标ip目标网关&#xff09; 已经成功断网 Linux系统默认是禁止数…