纯html+css实现打字效果


Posted in HTML / CSS onAugust 02, 2021

本文主要介绍了纯html+css实现打字效果,具有一定的参考价值,感兴趣的可以了解一下

效果图

纯html+css实现打字效果

分析
 

可以将动画看做三个不同的层次:

  • 最底层的文字
  • 中间挡住文字的背景
  • 最上层的光标

文字是静止的,而中间的背景和最上层的光标是动态的。
初始时,背景挡住所有的文字,光标在最左边。
动画进行时,背景和光标以相同的步伐从左往右移动。
动画结束时,背景不再遮挡文字,光标则在最右边闪烁。

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

注意
字体必须是等宽字体。因为光标每次移动的距离是是根据字符的数量 / 总宽度来决定的。
 

在线演示
 

到此这篇关于纯html+css实现打字效果的文章就介绍到这了,更多相关html css打字效果内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
用css3实现当鼠标移进去时当前亮其他变灰效果
Apr 08 HTML / CSS
用纯css3实现的图片放大镜特效效果非常不错
Sep 02 HTML / CSS
实例讲解使用CSS实现多边框和透明边框的方法
Sep 08 HTML / CSS
HTML5教程之html 5 本地数据库(Web Sql Database)
Apr 03 HTML / CSS
HTML5 input placeholder 颜色修改示例
May 30 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
Mar 01 HTML / CSS
HTML5无刷新改变当前url的代码
Mar 15 HTML / CSS
详解基于canvas的视频遮罩插件
Jan 04 HTML / CSS
Canvas系列之滤镜效果
Feb 12 HTML / CSS
Html5与App的通讯方式详解
Oct 24 HTML / CSS
Html5新增了哪些功能
Apr 16 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 26 HTML / CSS
html form表单基础入门案例讲解
Jul 21 #HTML / CSS
带你了解CSS基础知识,样式
Jul 21 #HTML / CSS
CSS实现隐藏搜索框功能(动画正反向序列)
Jul 21 #HTML / CSS
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
html5实现点击弹出图片功能
Jul 16 #HTML / CSS
纯CSS3实现div按照顺序出入效果
CSS3中Animation实现简单的手指点击动画的示例
You might like
php简单smarty入门程序实例
2015/06/11 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
Javascript的this详解
2019/03/23 Javascript
npm的lock机制解析
2019/06/20 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
浅谈Python中的闭包
2015/07/08 Python
python 默认参数问题的陷阱
2016/02/29 Python
python逆向入门教程
2018/01/15 Python
pandas去除重复列的实现方法
2019/01/29 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
python实现tail -f 功能
2020/01/17 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
企业给企业的表扬信
2014/01/13 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
Pandas自定义选项option设置
2021/07/25 Python