有没有一种方法可以使 html/css 中出现的文本具有动画效果?

Is there a way to animate appearing text in html/css?

我正在尝试为 css 中缓慢出现的文本制作动画,但我无法使其流畅...它由 3 个单词组成,第一个单词会很流畅,但接下来的 2 个单词只是突然出现。

这是我的代码:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="styles.css"/>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Not really my first website</title>
</head>
<body>
    <h1 class="header">Marginalized Speeding Tickets</h1>
    <div class="newclass"></div>
</body>
</html>
.header{
  width: 100%;
  top: 50%;
  position: top;
  left: 40%;
  border-bottom: 5px solid greenyellow;
  overflow: hidden;
  animation: animate 2s linear forwards;
}
.header h1 {
  color: green;
}
@keyframes animate {
  0% { 
    width: 0px;
    height: 0px;
  }
  20% {
    width: 50px;
    height: 0px;
  }
  50% {
    width: 50px;
    height: 80px;
  }
}```

如果我理解正确那是因为你在关键帧中使用了 50px 宽度并且它只能出现在第一个单词你可以改变它

关键帧不需要高度,问题是h1是一个块元素,因为宽度0px它打断了文字,但是如果你输入一个white-space: nowrap;应该没问题,也position: top; 无效,不确定您在那里尝试的是什么。 PS 我希望 h1 为绿色,首先是元素,然后是 class 选择器 h1.header {color: green;}

.header {
  white-space: nowrap;
  overflow: hidden;
  border-bottom: 5px solid greenyellow;
  animation: animate 2s linear forwards;
}
h1.header {
  color: green;
}
@keyframes animate {
  0% { 
    width: 0px;
  }
  100% {
    width: 100%;
  }
}
<h1 class="header">Marginalized Speeding Tickets</h1>
<div class="newclass"></div>