搜索
首页web前端css教程如何为您的网站创建CSS打字机效应

纯CSS打造引人入胜的打字机文本效果

核心要点:

  • CSS打字机效果通过逐步显示文本,使网站内容更具活力和吸引力,可用于登录页面、个人网站和代码演示。
  • 打字机效果可通过使用CSS steps()函数将文本元素的宽度从0%更改为100%,并通过动画模拟“打出”文本的光标来创建。
  • 可以通过增加或减少打字动画的步数和持续时间来调整打字效果,以适应较长或较短的文本。
  • 打字机效果可以与闪烁的光标动画结合使用以增强效果,并且可以通过调整其border-right属性、颜色、闪烁频率等来自定义光标。

本文将指导您如何使用纯CSS创建动态、更具吸引力的网站文本打字机效果。

打字机效果模拟文本逐字显示,如同在您眼前实时打字一般。

How to Create a CSS Typewriter Effect for Your Website

在文本片段中添加打字机效果有助于吸引网站访问者,并保持他们继续阅读的兴趣。打字机效果可用于多种用途,例如制作引人入胜的登录页面、号召性用语元素、个人网站和代码演示。

轻松创建打字机效果

创建打字机效果非常简单,您只需要具备CSS和CSS动画的基础知识即可理解本教程。

打字机效果的工作原理如下:

  • 打字机动画将通过使用CSS steps()函数逐步将文本元素的宽度从0%更改为100%,从而显示我们的文本元素。
  • 闪烁动画将模拟“打出”文本的光标。

创建打字机效果网页

首先,让我们为打字机演示创建一个网页。它将包含一个用于打字机文本的<div>容器,其类名为<code>typed-out

<!doctype html>
<html>
  <head>
    <title>Typewriter effect</title>
    <style>
      body{
        background: navajowhite;
        background-size: cover;
        font-family: 'Trebuchet MS', sans-serif; 
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div class="typed-out">Web Developer</div>
    </div>
  </body>
</html>

为打字机文本容器设置样式

现在我们有了网页的布局,让我们为具有“typed-out”类的<div>设置样式: <pre class='brush:php;toolbar:false;'>.typed-out { overflow: hidden; border-right: .15em solid orange; font-size: 1.6rem; width: 0; }</pre> <p>请注意,为了使打字机效果生效,我们添加了以下内容:</p> <ul> <li> <code>"overflow: hidden;""width: 0;",确保在打字效果开始之前不会显示文本内容。

  • "border-right: .15em solid orange;",创建打字机光标。
  • 在制作打字效果之前,为了在完全打出typed-out元素的最后一个字母后停止光标(就像打字机或文字处理器一样),我们将为typed-out元素创建一个容器并添加display: inline-block;

    .container {
      display: inline-block;
    }

    制作显示文本动画

    打字机动画将创建typed-out元素内的文本逐字显示的效果。我们将使用@keyframes CSS动画规则:

    <!doctype html>
    <html>
      <head>
        <title>Typewriter effect</title>
        <style>
          body{
            background: navajowhite;
            background-size: cover;
            font-family: 'Trebuchet MS', sans-serif; 
          }
        </style>
      </head>
      <body>
        <div class="container">
          <div class="typed-out">Web Developer</div>
        </div>
      </body>
    </html>

    如您所见,此动画所做的只是将元素的宽度从0%更改为100%。

    现在,我们将此动画包含在我们的typed-out类中,并将它的动画方向设置为forwards,以确保动画结束后文本元素不会返回到width: 0

    .typed-out {
      overflow: hidden;
      border-right: .15em solid orange;
      font-size: 1.6rem;
      width: 0;
    }

    我们的文本元素将以一种平滑的方式从左到右显示:

    添加步骤以实现打字机效果

    到目前为止,我们的文本已显示,但它是一种平滑的方式,不会逐字显示文本。这是一个开始,但显然它不像打字机效果那样。

    为了使此动画逐字或逐步显示我们的文本元素(就像打字机一样),我们需要将typed-out类包含的打字动画分成几步,以便使其看起来像是在打出一样。这就是CSS steps()函数发挥作用的地方:

    .container {
      display: inline-block;
    }

    如您所见,我们使用CSS steps()函数将打字动画分成20个步骤。

    调整步骤以获得更长的打字效果

    要调整较长的文本,您需要增加打字动画的步骤和持续时间。

    调整步骤以获得更短的打字效果

    要调整较短的文本,您需要减少打字动画的步骤和持续时间。

    制作和设置闪烁光标动画

    显然,最初的机械打字机没有闪烁的光标,但将其添加进去以模仿更现代的计算机/文字处理器的闪烁光标效果已成为传统。闪烁的光标动画有助于使打出的文本更能从静态文本元素中脱颖而出。

    要向我们的打字机动画添加闪烁的光标动画,我们将首先创建闪烁动画:

    @keyframes typing {
      from { width: 0 }
      to { width: 100% }
    }

    在我们的网页中,此动画将把typed-out元素边框(用作打字机效果的光标)的边框颜色从透明更改为橙色。

    我们将此动画包含在typed-out类的规则中,并将它的动画方向属性设置为infinite,以使光标每0.8秒无限期地消失和重新出现:

    .typed-out{
        overflow: hidden;
        border-right: .15em solid orange;
        white-space: nowrap;
        font-size: 1.6rem;
        width: 0;
        animation: typing 1s forwards;
    }

    调整闪烁打字效果的代码

    我们可以通过调整其border-right: .15em solid orange;属性来使光标更细或更粗,或者您可以使光标颜色不同,赋予它border-radius,调整其闪烁频率等等。

    组合打字机文本动画的元素

    现在您已经知道如何在CSS中制作打字机效果,是时候演示此打字效果的一些实用且相关的用例了。

    结论

    在本文中,我们了解了使用CSS创建动画“打字机”文本是多么容易。这种打字效果绝对可以为您的网页增添趣味和乐趣。

    不过,也许值得最后温和地警告一下。此技术最好用于少量非关键文本,只是为了增加一点额外的乐趣。但请注意不要过度依赖它,因为像这样使用CSS动画有一些局限性。请确保在各种设备和视口大小上测试您的打字机文本,因为结果可能因平台而异。还要考虑一下依赖辅助技术的最终用户,理想情况下,可以进行一些可用性测试,以确保您不会给用户带来不便。因为您可以使用纯CSS来做一些事情并不一定意味着您应该这样做。如果打字机效果对您很重要,并且您想将其用于更关键的内容,也许至少也要考虑一下JavaScript解决方案。

    无论如何,我希望您喜欢这篇文章,并且它让您开始思考您可以使用CSS动画做些什么其他很酷的事情,以增加您的网页的趣味和乐趣。

    关于创建CSS打字机效果的常见问题

    最后,让我们回答一些关于如何在CSS中创建打字机效果的最常见问题。

    • 什么是打字机效果?

    “打字机效果”是一种动画技术,它使一串文本逐字出现在屏幕上,就像它正在由打字机实时打出一样。此效果通常借助JavaScript创建,但也可以仅使用CSS实现,如本文所示。

    • 什么是打字机动画?

    打字机一次打印一个字母的文本。打字机动画是一种模仿打字机打字的动画,一次呈现一个字母的文字。它是许多网页上流行的动画效果。

    • 如何在CSS中制作动画文本打字?

    现代CSS提供了各种创建动画的工具,包括animation@keyframessteps()。这些工具用于逐渐显示首先通过overflow属性隐藏的文本。

    • 如何使用CSS制作可自定义的打字机动画?

    使用CSS创建可自定义的打字机动画涉及使用关键帧和CSS属性来控制文本在屏幕上打字时的外观和行为。您可以通过将一些动画参数公开为CSS变量(自定义属性)来使其可自定义,以便您可以轻松地在样式表中更改它们。例如:

    <!doctype html>
    <html>
      <head>
        <title>Typewriter effect</title>
        <style>
          body{
            background: navajowhite;
            background-size: cover;
            font-family: 'Trebuchet MS', sans-serif; 
          }
        </style>
      </head>
      <body>
        <div class="container">
          <div class="typed-out">Web Developer</div>
        </div>
      </body>
    </html>

    在此CSS代码中,我们定义了自定义属性(--typewriter-text--typewriter-duration)以使动画可自定义。您可以通过修改这些属性来更改默认值。

    • 如何在完全打出typed-out元素的最后一个字母后停止光标?

    要在CSS打字机动画中停止typed-out元素的最后一个字母的光标,您可以使用CSS动画和animation-fill-mode属性:

    <!doctype html>
    <html>
      <head>
        <title>Typewriter effect</title>
        <style>
          body{
            background: navajowhite;
            background-size: cover;
            font-family: 'Trebuchet MS', sans-serif; 
          }
        </style>
      </head>
      <body>
        <div class="container">
          <div class="typed-out">Web Developer</div>
        </div>
      </body>
    </html>

    在上面的CSS中,打字机动画逐渐增加.typewriter容器内元素的宽度,有效地打出文本。animation-fill-mode属性设置为forwards以确保动画在完成之后保持最终状态(完全打出)。通过此设置,光标将在完全打出typed-out元素的最后一个字母后在其处闪烁。

    • 有哪些有效使用打字机效果的网站示例?

    打字机动画通常用于诸如投资组合网站之类的网站,尤其是在设计师和开发人员的网站上,它们用于突出关键技能并为页面增添创意感,从而吸引读者的注意力。打字机效果有时也用于博客网站和登录页面以及产品演示中。

    以上是如何为您的网站创建CSS打字机效应的详细内容。更多信息请关注PHP中文网其他相关文章!

    声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    有点提醒您伪元素是孩子,有点。有点提醒您伪元素是孩子,有点。Apr 19, 2025 am 11:39 AM

    这里有一个带子元素的容器:

    菜单具有'动态命中区域”菜单具有'动态命中区域”Apr 19, 2025 am 11:37 AM

    飞翔的菜单!您需要在第二个菜单中实现悬停事件以显示更多菜单项的菜单,即您在棘手的领域中。一方面,他们应该

    通过Webvtt改善视频可访问性通过Webvtt改善视频可访问性Apr 19, 2025 am 11:27 AM

    “网络的力量在于其普遍性。每个人的访问无论残疾是一个重要方面。” - 蒂姆·伯纳斯 - 李

    每周平台新闻:CSS :: Marker伪元素,预先渲染的Web组件,向您的网站添加Webmention每周平台新闻:CSS :: Marker伪元素,预先渲染的Web组件,向您的网站添加WebmentionApr 19, 2025 am 11:25 AM

    在本周的综述中:datepickers正在让键盘用户头痛,一个新的Web组件编译器,有助于与Fouc进行战斗,我们终于获得了造型列表项目标记,以及在您的网站上获得网络攻击的四个步骤。

    使宽度和灵活的物品一起玩得很好使宽度和灵活的物品一起玩得很好Apr 19, 2025 am 11:23 AM

    简短的答案:您可能要寻找的是弹性折射和弹性基础。

    位置粘性和桌子标头位置粘性和桌子标头Apr 19, 2025 am 11:21 AM

    您可以位置:粘性;一个

    每周平台新闻:HTML在搜索控制台,全局脚本范围中的HTML检查,Babel Envs添加默认查询查询每周平台新闻:HTML在搜索控制台,全局脚本范围中的HTML检查,Babel Envs添加默认查询查询Apr 19, 2025 am 11:18 AM

    在本周的Web平台新闻世界中,Google搜索控制台可以更轻松地查看爬行的标记,我们了解到自定义属性

    Indieweb和网络企业Indieweb和网络企业Apr 19, 2025 am 11:16 AM

    Indieweb是一回事!他们将举行会议和一切。纽约客甚至在写这件事:

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热工具

    SecLists

    SecLists

    SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript开发工具

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    功能强大的PHP集成开发环境

    安全考试浏览器

    安全考试浏览器

    Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

    MinGW - 适用于 Windows 的极简 GNU

    MinGW - 适用于 Windows 的极简 GNU

    这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。