效果预览

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

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;
}

大功告成!

最新文章

  1. 第三章 一个简单的机器学习例子让你了解DeepLab的语言风格
  2. 有关stm32的问题,程序里面的u8、u16这些是什么意思啊
  3. 翻译:AKKA笔记 - Actor消息 -1(一)
  4. sqlmap注入技巧收集
  5. STM32F4_引领入门
  6. [Effective C++ --018]让接口容易被正确使用,不易被误用
  7. L2TP
  8. HDU 2089 不要62(数位DP)
  9. CURD
  10. css案例学习之盒子模型
  11. 为Delphi程序增加UAC功能(每个步骤都很详细)
  12. JAVA入门[19]-Hibernate简单示例
  13. Panel控件的使用
  14. QComboBox使用方法,QComboBox详解
  15. 2.Git基础-仓库的获取方式与Git文件的状态变化周期(生命周期)
  16. Angular、React.js 和Node.js到底选谁?
  17. 算法练习LeetCode初级算法之排序和搜索
  18. Python学习之MacBook Pro中PyCharm安装pip以及itchat
  19. Linux常用基本命令:三剑客命令之-sed
  20. 解决ScrollView嵌套RecyclerView出现item显示不全的问题

热门文章

  1. CodeIgniter 技巧 - 通过 Composer 安装 CodeIgniter 框架并安装依赖包
  2. mongo可视化工具adminMongo安装
  3. python实现操作mysql数据库
  4. Shell生成随机密码
  5. vuejs基础-计算器案例
  6. python之字符串的切片
  7. 最小公倍数(lcm与gcd)
  8. linq函数All,Any,Aggregate说明
  9. Spring学习笔记(3)——快速入门
  10. shell判断/bin目录下date文件是否存在