質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

1回答

1330閲覧

cssのanimationで、文字が入力された後キャレットのみ消えて文字は残したままにできない。

RT2

総合スコア18

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2020/10/29 00:33

編集2020/10/29 01:36

html

1コード 2<span class="names">×××</span> 3<h1 class="nameh">〇〇〇〇</h1>

css

1コード 2@keyframes typing { from { width: 0; } } 3@keyframes caret { 50% { border-color: transparent; } } 4 5.names{ 6 display: inline-block; 7 width: 10em; 8 border-right: .08em solid; 9 overflow: hidden; 10 white-space: nowrap; 11 animation: typing 5s steps(10,end), caret .5s step-end infinite; 12} 13 14.nameh { 15 font-size:3em; 16 font-family: monospace; 17 width:15em; 18 border-right: .08em solid; 19 overflow: hidden; 20 white-space: nowrap; 21 animation: typing 7s steps(12, end) 5s both, caret .5s step-end infinite 5s; 22 letter-spacing:.5rem; 23}

上記のコードで、.namesクラスのanimationが終わったら、.namehクラスのanimaitonが動くようになっています。
ただ、.namesクラスのanimation が終わったら、×××の文字は残して、キャレットは消したいのですが、.namehクラスが始まっても、ずっと残っています。
イメージとしては、×××と〇〇〇が続けて入力される感じにしたいので、.nameクラスのcaretはtypingのanimation終了後に消して、次の.namehクラスが始まるときに、キャレットが現れて文字入力が始まり、〇〇〇の入力が終わった時はキャレットは残っていて大丈夫です。

@keyframes caretに 0%{opacity:0;}などを入力しても解決できません。
animation-fill-modeはどの値にしても、typingの方まで影響していまいます。

ご教授、宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2020/11/02 04:22

まだ質問が「受付中」になっていますが、「ベストアンサー」を選び「解決済」にされてはいかがでしょうか。
guest

回答1

0

ベストアンサー

こんにちは。

animation-fill-mode: none;の場合、アニメーションが実行されていない時にはアニメーションのスタイルが適用されません。
ですので、終わった後にキャレットを消したいなら、アニメーションではないスタイルを変更する必要があります。

サンプル

css

1/* キーフレームに from を追加 */ 2@keyframes caret { 0% {border-color: black;} 50% { border-color: transparent; } } 3 4/* ボーダーを透明に */ 5 border-right: .08em solid transparent; 6 7/* animation-iteration-count を infinite から変更して、10回で終了する(回数は調整してください)*/ 8 animation: typing 5s steps(10,end), caret .5s step-end 10;

投稿2020/10/31 01:59

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RT2

2020/11/02 00:37

回答ありがとうございます。 何とか、解決できました。 また、宜しくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問