【发布时间】:2016-05-09 05:31:23
【问题描述】:
此 CSS 使文本具有打字机效果。然而问题在于,由于 CSS 中的white-space: nowrap,它只显示顶行。
因此,如果我在一个覆盖 4 行的 <p> 元素中包含文本,则只会显示顶行。
p{
color: lime;
font-family: "Courier";
font-size: 20px;
margin: 10px 0 0 10px;
white-space: nowrap;
overflow: hidden;
width: 100%;
animation: type 4s steps(60, end);
}
@keyframes type{
from { width: 0; }
}
如果纯 CSS 无法实现,是否有任何基于 JS 的解决方案?我不想尝试将一个段落分成几个<p>,特别是因为当宽度改变时,换行点会变得混乱。
【问题讨论】:
-
这样的动画的问题是,如果你删除
white-space: nowrap,它不会像打字机效果那样工作,因为所有四行都会同时开始输入(因为只有宽度是动画)。您需要将自己限制在一行(或)每行使用多个p元素。 -
没关系,哈利:D @Badrush 检查这个stackoverflow.com/questions/4147080/…
-
或者你可以使用类似jsfiddle.net/victor_007/4jy6xjr9
-
不错的@Vitorinofernandes :)
-
@Badrush:那个人使用 JS 从整个内容中仅获取第一个字符、前两个、前三个(等等),并使用循环打印它们(使用
setTimeout)。循环一直持续到打印完所有内容。
标签: javascript jquery css css-animations