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

简介: 效果预览在线演示按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。https://codepen.io/comehope/pen/MGNWOm可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

效果预览

在线演示

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

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

相关文章
|
6月前
|
前端开发
文字显示在div 最下面,css怎么写
文字显示在div 最下面,css怎么写
482 0
CSS3制作的聚光灯下倒影文字选装动画特效源码
CSS3聚光灯下倒影文字特效是一段基于CSS3实现的聚光灯下带倒影的文字旋转动画效果代码,具有真实的视觉感,同时文字还会在旋转过程中显示出灯光的反射效果,很有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
156 6
纯css3发光霓虹灯文字闪烁特效代码
纯css3发光霓虹灯文字闪烁特效代码是一款彩色的店铺名称文字动画特效。
189 6
jQuery+CSS3模拟过山车动态的文字动画特效源码
jQuery+CSS3模拟过山车动态的文字动画特效源码实现在全黑的背景下,画面中的文本呈现过山车的轨迹动画上下滚动转圈,且伴随文本颜色渐变效果,非常有意思,欢迎对此特效感兴趣的朋友前来下载参考。
166 1
|
Web App开发 前端开发 iOS开发
CSS文字省略号
CSS文字省略号
|
7月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
7月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
7月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
7月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
7月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应

热门文章

最新文章