大家好,我是 Just,这里是「设计师工作日常」,今天给大家分享一个代码瀑布流效果。
《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。
目录
整体效果
💎知识点:
1️⃣animation
动画属性
2️⃣writing-mode
文本排布属性
3️⃣:nth-child(n)
选择器
4️⃣--
自定义属性(css变量)以及var(...)
引用自定义属性值函数和calc(...)
计算属性值函数
🔑思路:
多个竖行排布文本,然后给文本加上动画属性,让多个文本不同次循环播放,形成代码瀑布效果。
小尺寸的代码瀑布效果,使用了防溢出,在大页面中使用时,可取消溢出限制,再增加多个竖行文本,修改部分css样式,形成大的代码瀑布效果。
核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。
核心代码
html 代码
页面主体,多个
p
标签文本。
css 部分代码
1、定义基本的尺寸大小,给
p
元素增加writing-mode: vertical-rl;
样式,定义文本垂直排布。
2、给
p
元素设置定位属性position: absolute;
,然后利用css
变量属性--
,自定义两个属性--left: 8px;--delay: 0.1s;
。
3、统一给
p
元素增加animation
动画属性animation: eff79 0.6s linear infinite;
,定义动画关键帧transform: translateY(n);
,移动p
元素的 Y 轴的值;然后利用:nth-child(n)
选择器,分别给每个p
元素设置不同的left
以及animation-delay
,让所有p
元素交错进行动画。
4、在每个
p
标签内,再分别定义几个span
元素,然后给这个几个span
元素定义不同的字体颜色,这样动画在播放时,让视觉更丰富一点。
5、根据
:hover
选择器,给按钮主体标签添加字体颜色,让按钮文字颜色从黑色过渡到白色,同样设置过渡延迟时间transition-delay: 0.3s;
,让字体颜色在:before
伪元素矩形之后衔接过渡。
注意: 在给 p
元素定义不同的 left
以及 animation-delay
时,搭配了 --
自定义属性(css变量)以及 var(...)
引用自定义属性值函数和 calc(...)
计算属性值函数。
完整代码如下
html 页面
css 样式
页面渲染效果
以上就是所有代码,以及简单的思路,希望对你有一些帮助或者启发。
我是 Just,这里是「设计师工作日常」,求点赞求关注!