找回密码
 立即注册
搜索
查看: 16|回复: 2

字体擦除效果 转自马黑教程专版

[复制链接]

1619

主题

3405

回帖

1万

积分

管理员

积分
13806
发表于 11 小时前 | 显示全部楼层 |阅读模式
君不见黄河之水天上来

1619

主题

3405

回帖

1万

积分

管理员

积分
13806
 楼主| 发表于 11 小时前 | 显示全部楼层
<style type="text/css">
.innerBox {
        width: 10rem;
        height: 20px;
        overflow: hidden;
        font-size: 1rem;
        animation: writing 5s steps(11,end) infinite;
}

@keyframes writing {
        0% { width: 0 }
        100% { width: 12rem; }
}
</style>

<div class="innerBox">君不见黄河之水天上来</div>


1619

主题

3405

回帖

1万

积分

管理员

积分
13806
 楼主| 发表于 11 小时前 | 显示全部楼层
解析:实现方法是使用一个 @keyframes 动画 writing 来模拟逐字上屏的打字效果。动画从 width: 0 到 width: 10rem 演变,即盒子的宽度从 0 变到到 12 个rem(rem和em差不多,1个rem或1个em就是一个汉字的宽度),期间,盒子CSS代码中 animation 对它的调用采用分步方式 steps(10,end) 运行,分 11 步,因为例子里有10个汉字,0 的时候没有字,所以加 1 步。


若想打完字又逐一删除,可在 animation 调用的 writing 动画代码中的 infinite 之后加入 alternate 。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

协同嘉业科技有限公司 ( 京ICP备2024053108号-1 )

GMT+8, 2026-10-29 13:01 , Processed in 0.084875 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表