純粋なHTML+CSSでタイピング効果を実現

純粋なHTML+CSSでタイピング効果を実現

この記事は主に、一定の参考値を持つ純粋な HTML + CSS によって実現されるタイピング効果を紹介します。ご興味があれば、さらに詳しく知ることができます。

レンダリング

分析する

アニメーションは、次の 3 つの異なるレベルとして考えることができます。

  • 下部のテキスト
  • 背景が中央のテキストをブロックしている
  • 上部のカーソル

テキストは静的ですが、中央の背景と上部のカーソルは動的です。
最初は、背景がすべてのテキストを覆い、カーソルは左端にあります。
アニメーションが進むにつれて、背景とカーソルが同じペースで左から右に移動します。
アニメーションが終了すると、背景がテキストを隠さなくなり、カーソルが右端で点滅します。

コード

html

<div class="text">こんにちは、世界!</div>

CS

:根 {
    /* 文字数 */
    --ステップ: 12;
    /* アニメーション時間 */
    --期間: 2.5秒;
    /* フォントサイズ */
    --フォントサイズ: 50px;
    /* カーソルサイズ */
    --カーソルサイズ: 20px;
}

。文章 {
    色: #333;;
    位置: 相対的;
    表示: インラインブロック;
    フォント ファミリ: 'Courier New'、Courier、等幅フォント;
    フォントサイズ: var(--fontSize);
    行の高さ: 1;
}

.text::after {
    コンテンツ: '';
    幅: var(--cursorSize);
    高さ: var(--fontSize);
    背景色: 黒;
    zインデックス: 2;
    位置: 絶対;
    アニメーション: 1秒点滅 var(--duration) step-end infinite,
               moveCursor var(--duration) steps(var(--steps)) 前進します。
}

.text::before {
    コンテンツ: '';
    幅: 100%;
    高さ: var(--fontSize);
    zインデックス: 1;
    位置: 絶対;
    背景: linear-gradient(#fff, #fff) 繰り返しなし 右上;
    アニメーション: showText var(--duration) steps(var(--steps)) forwards;
}

/* カーソル点滅アニメーション*/
@keyframes 点滅 {
    0% {
        背景色: 黒;
    }
    50% {
        背景色: 透明;
    }
    100% {
        背景色: 黒;
    }
}

/* カーソル移動アニメーション*/
@keyframes カーソルを移動 {
    0% {
        残り: 0%;
    }
    100% {
        左: 100%;
    }
}

/* 背景移動アニメーション */
@keyframes 表示テキスト {
    0% {
        背景サイズ: 100% 100%;
    }
    100% {
        背景サイズ: 0% 100%;
    }
}

フォントは等幅フォントである必要があることに注意してください。カーソルが毎回移動する距離は、文字数/全体の幅によって決まるためです。

オンラインデモ

純粋な HTML+CSS でタイピング エフェクトを実現する方法については、これで終わりです。より関連性の高い HTML+CSS タイピング エフェクト コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

<<:  サラウンドリフレクションロード効果を実現するHTML+CSS

>>:  ナビゲーションバーのドロップダウンメニューのサンプルコードを実装するためのHTML+CSS

推薦する

MySQL データテーブルのパーティション戦略と利点と欠点の分析

目次なぜパーティションが必要なのでしょうか?パーティショニング戦略パーティションの危険性なぜパーティ...

CocosCreatorを使ってシューティングゲームを作る方法

製造手順を分析します。 1. リソースを準備してシーンを構築するオンラインでリソースを探すか、私のリ...

設定ファイルを変更した後、操作を再開します

余計なことは言わないで、コードだけ見てみましょう〜 # docker-compose をダウン # ...

Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

1 Tomcatをダウンロードして起動する公式サイト http://tomcat.apache.or...

IE6のバグと修正は予防戦略です

元記事:究極の IE6 チートシート: 25 以上の Internet Explorer 6 のバグ...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

複数の Docker コンテナが同じポート番号を持たない場合の解決策

背景Dockerでは、同じイメージを使用して4つのコンテナを作成します。ネットワークはブリッジモード...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

ウェブサイト開発におけるフロントエンド開発者とアーティストの知識の違い

概要: 多くの企業、特にインターネット Web サイトを主な事業とする企業のほとんどが、「アーティス...

JavaScript es6 における var、let、const の違いの詳細な説明

まず、よくある質問は、ECMAScript と JavaScript の関係は何ですか? ECMAS...

Windows Server 2008 R2 マルチユーザー リモート デスクトップ接続ライセンス

仕事ではリモート サーバーが必要になることが多く、次の 2 つの問題に遭遇することがよくあります。 ...

初心者向けウェブサイト構築チュートリアル: 10 日間でウェブサイトの構築方法を学ぶ

10 日間のチュートリアルでは、最も理解しやすい言語を使用し、最も基本的なことから始めて、誰もが W...

Windows での MySQL コミュニティ サーバー 8.0.16 のインストールと構成方法のグラフィック チュートリアル

最近、MySQL関連の構文をよく見かけます。また、MySQLストアドプロシージャの書き方も学びたいの...

中国の専門ではない:文化の違いの中でのウェブ開発

Web デザインと開発は大変な作業なので、少数の人だけを対象に設計しないでください。これは外国人が...

Zabbix は MySQL インスタンス メソッドを監視します

1. 監視計画監視項目を作成する前に、何を監視するのか、どのように監視するのか、監視データをどのよう...