如何用纯 CSS 创作牛奶文字变换效果

效果预览
按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。
https://codepen.io/comehope/pen/MGNWOm
可交互视频教程
此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
请用 chrome, safari, edge 打开观看。
https://scrimba.com/p/pEgDAM/cvPryA6
源代码下载
每日前端实战系列的全部源代码请从 github 下载:
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 DOM,容器中包含 2 段文本:
<div class="container">
<p>Explorer</p>
<p>Discovery</p>
</div>
居中显示:
body {
margin: 0;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background-color: black;
}
设置字体样式:
p {
color: white;
font-size: 100px;
font-weight: bold;
font-family: sans-serif;
text-transform: uppercase;
text-align: center;
}
让 2 段文本重叠:
p {
margin: 0;
}
p:nth-child(1) {
transform: translateY(50%);
}
p:nth-child(2) {
transform: translateY(-50%);
}
定义动画,让 2 段文本交替显示:
p {
animation: show-hide 10s infinite;
filter: opacity(0);
}
p:nth-child(1) {
animation-direction: normal;
}
p:nth-child(2) {
animation-direction: reverse;
}
@keyframes show-hide {
0% {
filter: opacity(0);
}
25% {
filter: opacity(1);
}
40% {
filter: opacity(1);
}
50% {
filter: opacity(0);
}
}
增加字间距的变化效果:
@keyframes show-hide {
0% {
filter: opacity(0);
letter-spacing: -0.8em;
}
25% {
filter: opacity(1);
}
40% {
filter: opacity(1);
}
50% {
filter: opacity(0);
letter-spacing: 0.24em;
}
}
增加文本模糊效果:
@keyframes show-hide {
0% {
filter: opacity(0) blur(0.08em);
letter-spacing: -0.8em;
}
25% {
filter: opacity(1) blur(0.08em);
}
40% {
filter: opacity(1) blur(0.24em);
}
50% {
filter: opacity(0) blur(0.24em);
letter-spacing: 0.24em;
}
}
最后,为容器设置对比度滤镜:
.container {
filter: contrast(10);
background-color: black;
overflow: hidden;
}
大功告成!
原文地址:https://segmentfault.com/a/1190000015037234
如何用纯 CSS 创作牛奶文字变换效果的更多相关文章
- 前端每日实战:33# 视频演示如何用纯 CSS 创作牛奶文字变换效果
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MGNWOm 可交互视频教程 此视频 ...
- 33.纯 CSS 创作牛奶文字变换效果
原文地址:https://segmentfault.com/a/1190000015037234 感想:transform: translateY(50% & -50%); animatio ...
- 如何用纯 CSS 创作背景色块变换的按钮特效
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/XYKdwg 可交互视频教 ...
- 如何用纯 CSS 创作阶梯文字特效
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MXYBEM 可交互视频教 ...
- 前端每日实战:38# 视频演示如何用纯 CSS 创作阶梯文字特效
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MXYBEM 可交互视频教程 此视频 ...
- 前端每日实战:152# 视频演示如何用纯 CSS 创作一个圆点错觉效果
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/gBwzKR 可交互视频 此视频是可 ...
- 如何用纯 CSS 创作一个文本淡入淡出的 loader 动画
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ERwpeG 可交互视频 ...
- 前端每日实战:53# 视频演示如何用纯 CSS 创作一个文本淡入淡出的 loader 动画
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ERwpeG 可交互视频 此视频是可 ...
- 如何用纯 CSS 创作一种文字断开的交互特效
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/LmjNgL 可交互视频教程 此视 ...
随机推荐
- Points on Plane Codeforces - 576C
https://www.luogu.org/problemnew/show/CF576C 看题面,一眼按莫队的方法排一下 直接交就会和我一样发现WA掉了... 算一下会发现,上限是3e9(块内左端点1 ...
- .classpath文件的内容(MyEclipse通过添加External Jar生成)
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentr ...
- SpringBoot 2.x (11):定时任务与异步任务
定时任务:有时候我们需要做定时的一些操作,比如统计信息,定时发送邮件等 在SpringBoot中如何进行整合和使用呢? 有哪些方式可以实现定时任务呢? Java自带的java.util.timer: ...
- How to detect the presence of the Visual C++ 2010 redistributable package
Question: I have seen your previous blog posts that describe how to detect the presence of the Visua ...
- 惊人的CSS和JavaScript动画logos例子
https://codepen.io/lindell/pen/mEVgJP Stack Overflow logo是我最喜欢的logo之一,因为它非常简单,但易于识别.并且这个片段动画点击预览Stac ...
- Javafinal变量
class Test02 { public static void main(String args[]){ final int x; x = 100; // ...
- 查询sqlserver数据库,表占用数据大小
if exists(select 1 from tempdb..sysobjects where id=object_id('tempdb..#tabName') and xtype='u')dro ...
- POJ 1739 Tony's Tour (插头DP,轮廓线DP)
题意:给一个n*m的矩阵,其中#是障碍格子,其他则是必走的格子,问从左下角的格子走到右下角的格子有多少种方式. 思路: 注意有可能答案是0,就是障碍格子阻挡住了去路. 插头DP有两种比较常见的表示连通 ...
- Openjudge 2.5 6264:走出迷宫
总时间限制: 1000ms 内存限制: 65536kB 描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n* ...
- leetcode_1095. Find in Mountain Array_[Binary Search]
https://leetcode.com/problems/find-in-mountain-array/ 题意:给定一个MountainArray(定义见题目),找到其中最早出现的target值的下 ...