码上掘金 | 简单实现一个打字机动画

简介: 码上掘金 | 简单实现一个打字机动画

前言


众所周知,掘金是一个技()术()社区,我一直在沸点快乐的学()习(),那么作为一个合格的沸人。不仅要掌握熟练的学()习()技术,掌握打字技术使我们必备技能之一。


所以,下面就让我们简单实现一个打字机来帮我们打字吧


代码块


https://code.juejin.cn/pen/7092220950711631908


实现过程


预先准备


文字


然后打字机肯定是需要打字的,所以我们先来设定一下我们需要打的字


我们定义一个 text 文本

<body>
<div class="typewriter-effect">
  <div class="text"id="typewriter-text">
  </div>
</div>
</body>


然后使用 js 来设置 text 内部的文本元素

const typeWriter = document.getElementById('typewriter-text');
const text ='I love mofish in Juejin .';
typeWriter.innerHTML = text;
typeWriter.style.setProperty('--characters', text.length);

--characters 为包含字符数的变量,用于文本的动画设置。


动画


打字机的动画其实分为两个部分


  • 出现的动画
  • 插入符 出现的动画


所以我们定义两个动画效果


  • typing 字体出现动画


@keyframes typing {
75%,
100% {
    max-width: calc(var(--characters) * 1ch);
  }
}


  • blink 插入符动画


@keyframes blink {
0%,
75%,
100% {
    opacity: 1;
  }
25% {
    opacity: 0;
  }
}


实现动画


文本动画实现


首先我们先只让文本实现一个依次出现的动画效果

.typewriter-effect > .text {
  max-width: 0;
  animation: typing 3s steps(var(--characters)) infinite;
  white-space: nowrap;
  overflow: hidden;
}

我们对文本添加动画,并根据需要使用white-space: nowrapoverflow: hidden使内容不可见


效果:


网络异常,图片无法展示
|


加入插入符动画 实现一个类似打字的效果


我们使用:after伪元素将插入符号添加到容器元素

.typewriter-effect:after {
  content: " |";
  animation: blink 1s infinite;
  animation-timing-function: step-end;
}

在文本动画的每次字体动画后 加入这个插入符的动画,就最终得到了我们需要的效果


网络异常,图片无法展示
|


结语


这是由一个非常非常不专业的后端混子完成的,仅供大家一乐~


希望大家都可以在掘金快乐的学习(摸鱼)~~

目录
相关文章
|
8月前
|
前端开发 JavaScript 开发者
javascript实现黑客帝国代码雨特效背景效果
javascript实现黑客帝国代码雨特效背景
86 0
javascript实现黑客帝国代码雨特效背景效果
|
5月前
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!(三)
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
|
5月前
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!(四)
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
|
9月前
|
前端开发
前端学习笔记202306学习笔记第四十八天-推荐音乐底部实现
前端学习笔记202306学习笔记第四十八天-推荐音乐底部实现
48 0
|
12月前
游戏开发零基础入门教程(5):不要挡住我,我要去上面
这一节我们学习了层级管理,以及通过使用拖拽的方式来调整层级的顺序。 在真实的游戏中可能会包含很多的层级,在调整层级时,不要忘记口诀:谁挡住了我,我就去谁的上面。 试着在游戏中加入更多的层级,拖拽调整层级的顺序,然后观察编辑区中的图片显示效果。
129 0
|
12月前
|
Python 容器
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏05之滚动屏幕
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏05之滚动屏幕
106 0
|
前端开发
前端知识案例学习3-毛玻璃效果
前端知识案例学习3-毛玻璃效果
54 0
前端知识案例学习3-毛玻璃效果
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第一百题-控制动画
#yyds干货盘点# 前端歌谣的刷题之路-第一百题-控制动画
71 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百题-控制动画
|
前端开发 程序员
来自程序员的浪漫圣诞&纯CSS3打造的圣诞祝福【献给前端初学者】内附代码以及运行方法
来自程序员的浪漫圣诞&纯CSS3打造的圣诞祝福【献给前端初学者】内附代码以及运行方法
来自程序员的浪漫圣诞&纯CSS3打造的圣诞祝福【献给前端初学者】内附代码以及运行方法
创意代码之文字特效合集
因为写的几个创意代码的特效都十分的简单,就合并到这篇文章里了,文章会从实现思路和遇到的问题两方面讲解实现如何现实这些简单的特效。
295 0
创意代码之文字特效合集