タイピングしているかのようにアニメーションを作ろうとしています。これを実現するために、CSS アニメーションの「ステップ」を使用しています。
アニメーション自体は問題なく動作します。ただし、複数行のテキストをアニメーション化する場合は、すべて同時に再生を開始します。これは私に望ましい効果を与えていません。(テキストを切り取った単一の で使用しようとしましたが、再びアニメーションを同時に開始しました。)<br>
<h1>
これに対抗するために、テキストの次の行を に置き、テキスト<h2>
のすべての行にアニメーションの遅延を設定します。これは機能しますが、アニメーションが開始する前にテキストが表示されます。
「ライブタイピング」効果を実際に得るために、アニメーションの再生が始まるまでテキストを非表示にしたいと思います。
どうすればこれを達成できるかについて誰かアイデアがありますか?
HTML
<div class="content">
<h1>Hi there! My name is Jeff.</h1>
<h2>And I create cool stuff.</h2>
</div>
CSS
.content h1 {
background:white;
opacity:0.7;
white-space:nowrap;
overflow:hidden;
border-right: 3px solid black;
-webkit-animation: typing 2s steps(26, end),
blink-caret 1s step-end 2s;
}
.content h2 {
background:white;
opacity:0.7;
white-space:nowrap;
overflow:hidden;
border-right: 3px solid black;
-webkit-animation: typing 2s steps(26, end),
blink-caret 1s step-end infinite;
-webkit-animation-delay:3s;
}
@-webkit-keyframes typing {
from { width: 0; }
to { width:400px; }
}
@-webkit-keyframes blink-caret {
from, to { border-color: transparent }
50% { border-color: black }
}