css steps实现文本一个字一个字显示

这篇具有很好参考价值的文章主要介绍了css steps实现文本一个字一个字显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大致思路:

  使用相对定位的div覆盖文本内容,并用animation控制宽度,位置。

  换行步骤在外层div上控制高度即可。

css的steps与animation一起使用可以控制文字单个显示,类似于文本输入,不过显示频率是线性。

添加一些css变量控制步骤宽度、高度和时间等,便于vue中也通过组件的props控制文章来源地址https://www.toymoban.com/news/detail-410658.html

css steps实现文本一个字一个字显示css steps实现文本一个字一个字显示
  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <meta charset="utf-8">
  5     <title>春江花月夜 唐·张若虚</title>
  6     <style type="text/css">
  7         body {
  8             margin: 0;    
  9         }
 10 
 11         div.step {
 12             --step-width: 16em;
 13             --start-step-height: 5em;
 14             --end-step-height: 41em;
 15             --step-row-count: 18;
 16             --step-row-second: 4s;
 17             --step-column-count: 16;
 18             --step-column-second: 4s;
 19             --animation-text-flicker-time: 0.3s;
 20 
 21             position: relative;
 22             width: var(--step-width);
 23             height: var(--start-step-height);
 24             margin: 0 auto;
 25             font-size: 14px;
 26             overflow: hidden;
 27             animation: addHeight calc(var(--step-row-second) * var(--step-row-count)) steps(var(--step-row-count), jump-start) 0s forwards;
 28         }
 29         .step h1,h4 {
 30             margin: 0.5em 0;
 31             text-align: center;
 32             line-height: 1;
 33         }
 34         .step p {
 35             line-height: 1;
 36         }
 37         .step .hide {
 38             position: absolute;
 39             left: 0em;
 40             top: calc(var(--start-step-height) + 1em);
 41             width: var(--step-width);
 42             height: 1em;
 43             background-color: #fff;
 44             z-index: 1;
 45             animation: toRight var(--step-column-second) steps(var(--step-column-count), jump-start) infinite, toBootomOne calc(var(--step-row-second) * var(--step-row-count)) steps(var(--step-row-count), jump-start) var(--step-column-second) forwards, hide 0s calc(var(--step-row-second) * var(--step-row-count)) forwards;
 46         }
 47         .step .hide::before {
 48             position: absolute;
 49             width: 2px;
 50             height: 1em;
 51             top: 0;
 52             left: 1px;
 53             background-color: #000;
 54             animation: text var(--animation-text-flicker-time) infinite;
 55             content: '';
 56         }
 57 
 58         @keyframes toRight {
 59             0% {}
 60             100% { left: var(--step-width);width: 0; }
 61         }
 62         @keyframes toBootomOne {
 63             0% {}
 64             100% { top: calc(var(--end-step-height) + 1em); }
 65         }
 66         @keyframes addHeight {
 67             0% {}
 68             100% { height: var(--end-step-height); }
 69         }
 70         @keyframes text {
 71             0% {}
 72             100% { width: 0px; }
 73         }
 74         @keyframes hide {
 75             0% {}
 76             100% { display: none; }
 77         }
 78     </style>
 79 </head>
 80 <body>
 81     <div class="step">
 82         <h1>春江花月夜</h1>
 83         <h4>唐·张若虚</h4>
 84         <p>春江潮水连海平,海上明月共潮生。</p>
 85         <p>滟滟随波千万里,何处春江无月明!</p>
 86         <p>江流宛转绕芳甸,月照花林皆似霰;</p>
 87         <p>空里流霜不觉飞,汀上白沙看不见。</p>
 88         <p>江天一色无纤尘,皎皎空中孤月轮。</p>
 89         <p>江畔何人初见月?江月何年初照人?</p>
 90         <p>人生代代无穷已,江月年年望相似。</p>
 91         <p>不知江月待何人,但见长江送流水。</p>
 92         <p>白云一片去悠悠,青枫浦上不胜愁。</p>
 93         <p>谁家今夜扁舟子?何处相思明月楼?</p>
 94         <p>可怜楼上月裴回,应照离人妆镜台。</p>
 95         <p>玉户帘中卷不去,捣衣砧上拂还来。</p>
 96         <p>此时相望不相闻,愿逐月华流照君。</p>
 97         <p>鸿雁长飞光不度,鱼龙潜跃水成文。</p>
 98         <p>昨夜闲潭梦落花,可怜春半不还家。</p>
 99         <p>江水流春去欲尽,江潭落月复西斜。</p>
100         <p>斜月沉沉藏海雾,碣石潇湘无限路。</p>
101         <p>不知乘月几人归,落月摇情满江树。</p>
102         <div class="hide"></div>
103     </div>
104 </body>
105 </html>
View Code

到了这里,关于css steps实现文本一个字一个字显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • css矩形盒子实现虚线流动边框+css实现step连接箭头

    由于项目里需要手写步骤条 且实现指定状态边框虚线流动效果,故使用css去绘制步骤条连接箭头和绘制边框流动效果 效果:

    2024年02月07日
    浏览(39)
  • CSS控制文本超出打点显示

    只有1行文本时,需要满足如下条件: 文本需要有 宽度 。当设置了宽度时,文本过长才会超出该宽度,所以文本的元素应该是块级元素(行内元素宽度、高度都会失效)。 不换行 显示。单行文本无需换行。 超出部分隐藏。文本超出宽度的部分,需要隐藏显示。 文本超出打

    2024年02月15日
    浏览(40)
  • 【css】超过文本显示省略号

    显示省略号的前提:必须有指定宽度 一、单行文本超出部分显示省略号 属性 取值 解释 overflow hidden 当内容超过盒子宽度, 隐藏溢出部分 white-space nowrap 让文字在一行内显示, 不换行 text-overflow ellipsis 如果溢出的内容是文字, 就用省略号代替 二、多行文本超出部分显示省略号

    2024年02月13日
    浏览(41)
  • css单行文本溢出显示省略号

    可以使用CSS中的 text-overflow 属性来实现单行文本溢出显示省略号。 具体实现步骤如下: 首先,将需要显示省略号的元素的宽度设置为固定值或最大宽度。 接着,使用 white-space 属性将元素的文本内容强制放在一行中,防止换行。 然后,使用 overflow 属性将超出元素宽度的文本

    2024年02月11日
    浏览(43)
  • css多行文本溢出显示省略号

    在CSS中,对于多行文本的溢出显示省略号,可以使用 display 属性配合 -webkit-line-clamp 和 -webkit-box-orient 来实现。 具体实现步骤如下: 首先,将需要显示省略号的元素设置为块级元素,并且固定高度。 接着,使用 -webkit-box-orient 属性将元素内部的子元素按照垂直方向排列。 然后

    2024年02月11日
    浏览(44)
  • Vue:将以往的JQ页面,重构成Vue组件页面的大致思路梳理(组件化编码大致流程)

    组件要按照功能点拆分,命名不要与 HTML元 素冲突。 1、根据 UI 提供的原型图,进行结构设计,结构设计的粒度以是否方便给组件起名字为依据。并梳理好对应组件的层级依赖关系。 2、设计好结构后,开始写对应的组件,并根据梳理好的层级关系,对应引入组件。 3、根据

    2024年01月15日
    浏览(53)
  • CSS设置文本不换行多余文字显示省略号

    文章目录 一、使用步骤 代码如下(示例): 代码如下(示例):

    2024年02月12日
    浏览(39)
  • css文本超长显示省略号,鼠标hover省略号展示全部内容

    有时候我们会发现鼠标hover到文字省略号上,会展示出全部内容,效果如下: 首先,文字过长展示省略号 再借助鼠标悬停标签展示其 title 内容的特性,为标签加上 title属性,实现我们想要的效果 有关 title 属性的介绍:

    2024年02月11日
    浏览(51)
  • 如何使用CSS实现一个下拉菜单?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月13日
    浏览(41)
  • CSS笔记(黑马程序员pink老师前端)选择器,字体,文本属性,Emmet语法,元素显示模式,CSS背景

    选择器分为基础选择器和复合选择器两大类。 基础选择器 包括:标签选择器、类选择器、id选择器和通配符选择器。 多类名 可以把一些标签元素共同的样式放到一个类里面。这些标签都可以调用这个公共的类,然后再调用自己独有的类。 复合选择器 基础选择器的组合.包括后

    2024年02月09日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包