当前位置:首页 > 全栈分享 > html+css > 正文
css3实现打字效果(详细解析)
发布时间:2019-01-03 23:32:25作者:魏义齐阅读:()
css3实现打字效果代码如下:
html:
- <p>Welcome to Wei Yiqi's personal blog.</p>
css:
- @keyframes cursor {
- 50% {
- border-color: transparent;
- }
- }
- @keyframes text {
- from {
- width: 0;
- }
- }
- p {
- width: 35ch;
- border-right: solid 1px #000;
- white-space: nowrap;
- overflow: hidden;
- font: 16px monospace;
- animation: cursor 1s infinite step-end, text 4s steps(35);
- }
点此测试代码
要实现此效果需要掌握几个知识点:
1.monospace
这个不常用,monospace是方形字体,也就是肉眼看到的五个m和五个i的宽度是一样的,等宽字体是让字符逐步展示的条件之一。
2.ch
这个也不常用,1ch也就是一个字符的宽度,一个英文字母是一个字符,所以上面代码中“Welcome to Wei Yiqi's personal blog.”加标点符号总共是35个字符,这个是让字符逐步展示的条件之二。
3.step,这个还是不常用。
step-end表示戛然而止,在上面的代码中它取消了光标由透明到不透明之间的过度,我把step-end取消大家来看效果:https://www.weiyiqi.net/lookdoc/typing/typing.html,你会发现光标在出现和消失之间有一个过度,step-end就是取消这个过度让光标闪烁看起来更真实。
steps()指逐步运动,也就是间断执行的动画,言外之意不一定连续的才叫动画。
关于steps功能符的深入介绍大家可以看张鑫旭的文章:https://www.zhangxinxu.com/wordpress/2018/06/css3-animation-steps-step-start-end/
就是这三个不常用的css属性实现了很多人需要用js才能实现的打字效果。
理解了这些知识点实现原理就显而易见了:用容器的右边框透明度变化来实现光标效果,让字符逐步展示来实现打字效果。我再在上面的代码后面加上注释,我想没人看不明白了:
- @keyframes cursor {
- 50% {
- border-color: transparent;/*运动到50%时让边框变透明,0%和100%则不变*/
- }
- }
- @keyframes text {
- from {
- width: 0;/*容器宽度(由字符展现撑开)从零开始*/
- }
- }
- p {
- width: 36ch;/*字符数决定容器的宽度*/
- border-right: solid 1px #000;/*光标样式*/
- white-space: nowrap;/*禁止分行*/
- overflow: hidden;/*禁止分行后文字会超出容器,用overflow: hidden;来隐藏*/
- font: 16px monospace;/*字体大小和等宽字体*/
- animation: cursor 1s infinite step-end, text 4s steps(36);/*光标每一秒闪一次且无限循环,容器(字符)在4秒内分36步展现完*/
- }
需要注意的是一个汉字是两个字符,也就是容器宽度是步数的两倍。
最近在看张鑫旭的《css世界》,买回来就忍俊不禁看了三个小时,其实我们掌握的css都是表层的,而张鑫旭的css很多可以实现js才可以实现的效果。
相关阅读
-
无相关信息
上一篇:css3背景色渐变的动画实例应用下一篇:一场由css代码里“{}”前的空格引起的风波
原创不易,您的赞助就是博主更新的动力!

赞助本站可在赞助光荣榜留下外链信息,支付宝扫此二维码可领红包
-
weiyiqi
- css3实现打字效果(详细解析)(1440)
- 前端经验分享之上传工具的使用和扒改网页(1121)
- 如何修改select右边小三角的样式(978)
- cms系统loop循环造成的页面布局问题如何解决(732)
- css3背景色渐变的动画实例应用(659)
- 盘点竞价手机网页对meta标签的特殊需求(514)
- 博客改版技术总结:input的radio样式兼容和ios微信里hover效果兼容(450)
- 悬浮窗紧贴网页主内容区定位的方法(448)
- 前端经验分享之定位(361)
- css图片闪光效果实现代码及详细解读(293)
- css图片闪光效果实现代码及详细解读(2019-05-17)
- css3背景色渐变的动画实例应用(2019-01-06)
- css3实现打字效果(详细解析)(2019-01-03)
- 一场由css代码里“{}”前的空格引起的风波(2018-10-05)
- 悬浮窗紧贴网页主内容区定位的方法(2018-09-11)