用HTML+CSS怎么写执行打字的效果
Admin 2022-06-14 群英技术资讯 328 次浏览
本文主要介绍了纯html+css实现打字效果,具有一定的参考价值,感兴趣的可以了解一下
效果图
可以将动画看做三个不同的层次:
文字是静止的,而中间的背景和最上层的光标是动态的。
初始时,背景挡住所有的文字,光标在最左边。
动画进行时,背景和光标以相同的步伐从左往右移动。
动画结束时,背景不再遮挡文字,光标则在最右边闪烁。
html
<div class="text">hello,world!</div>
css
:root { /* 字符数量 */ --steps: 12; /* 动画时间 */ --duration: 2.5s; /* 字体大小 */ --fontSize: 50px; /* 光标大小 */ --cursorSize: 20px; } .text { color: #333;; position: relative; display: inline-block; font-family: 'Courier New', Courier, monospace; font-size: var(--fontSize); line-height: 1; } .text::after { content: ''; width: var(--cursorSize); height: var(--fontSize); background-color: black; z-index: 2; position: absolute; animation: blink 1s var(--duration) step-end infinite, moveCursor var(--duration) steps(var(--steps)) forwards; } .text::before { content: ''; width: 100%; height: var(--fontSize); z-index: 1; position: absolute; background: linear-gradient(#fff, #fff) no-repeat top right; animation: showText var(--duration) steps(var(--steps)) forwards; } /* 光标闪烁动画 */ @keyframes blink { 0% { background-color: black; } 50% { background-color: transparent; } 100% { background-color: black; } } /* 光标移动动画 */ @keyframes moveCursor { 0% { left: 0%; } 100% { left: 100%; } } /* 背景移动动画 */ @keyframes showText { 0% { background-size: 100% 100%; } 100% { background-size: 0% 100%; } }
注意
字体必须是等宽字体。因为光标每次移动的距离是是根据字符的数量 / 总宽度来决定的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天给大家分享的是关于css日期选择器的内容,css日期选择器的需求还是比较常见的,在一些注册页面或者是查询页面等等都可以使用到。那么下面给大家分享的实例就是实现css日期选择器选中区域的文字加粗,这样的好处的就是能更明显突出所选的日期,那么具体怎样实现呢?接下来跟随小编一起看看吧。
这篇文章主要介绍了CSS绘制三角形的实现代码(border法)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本篇介绍的animation属性和传统的动画制作一样,能控制帧的每一步,制作出更强大的动画效果。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
这篇文章主要介绍了Ratchet 模态框的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在css中,可以利用transform属性和“translateX()”函数将字往右调,“translateX()”函数用于定义元素在左右平移时的位置,只需要给文字元素添加“transform:translateX(向右移动值)”样式即可。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008