これなら実装がすごく簡単!タイプライターのようにテキストを表示するアニメーションを実装できるスクリプト typewritten-text
Post on:2021年9月27日
テキストをHTMLのタグ(カスタム要素)で囲むだけで、タイプライターのアニメーションを簡単に実装できるスクリプトを紹介します。
外部ファイルを記述し、あとは<p>内でも<h1>内でもタイプライターのアニメーションを適用できます。HTMLなので、<strong>や<em>を併用したり、CSSでスタイルを定義することも簡単です。
HTMLなので、もちろん日本語のテキストでも大丈夫です。
typewritten-text
typewritten-text -GitHub
typewritten-textの特徴
typewritten-textはHTMLのカスタム要素で、タイプライターのアニメーションを簡単に実装できます。
1 |
<p>テキスト<typewritten-text>タイプライター</typewritten-text></p> |
- HTMLのカスタム要素(<typewritten-text>)でタイプライターのアニメーションを実装できます。
- カスタム要素は標準のHTMLタグと同じように使用できます。
- 標準のHTMLタグと同じなので、状態に関係なくテキストコンテンツを表し、アクセシブルです。
- CSSも標準のHTMLタグと同じように定義できます。
- ISC Licenseで、商用プロジェクトでも無料で利用できます。
※BSD 2-ClauseおよびMITライセンスと機能的に同等です。
See the Pen
Typewriter Cycle by Timothy Foster (@auroratide)
on CodePen.
HTML Living StandardではWebコンポーネントを介して独自のHTML要素(カスタム要素)を定義して使用でき、JavaScriptで新しい要素を作成するだけで機能します。
1 2 3 4 5 |
class MyElement extends HTMLElement { // code for how the element looks and behaves } window.customElements.define('my-element', MyElement) |
Webコンポーネントはブラウザのネイティブな機能なので、他のフレームワークと共存できます。
参考: Custom Elements Everywhere
typewritten-textのデモ
デモでは、タイプライターのようにアニメーションで表示されるテキストを楽しめます。オプションでタイプの速度や繰り返し、リピートして逆戻しなども楽しめます。
会話コンテンツにもいいですね。
See the Pen
Typewriter Dialog by Timothy Foster (@auroratide)
on CodePen.
typewritten-textの使い方
Step 1: 外部ファイル
当JavaScriptとCSSを外部ファイルとして記述します。
1 2 |
<link rel="stylesheet" href="https://unpkg.com/@auroratide/typewritten-text/lib/style.css" /> <script type="module" src="https://unpkg.com/@auroratide/typewritten-text/lib/define.js"></script> |
Step 2: HTML
タイプライターのアニメーションを適用するテキストを<typewritten-text>で囲むだけで完了です。
1 |
<p>テキスト<typewritten-text>タイプライター</typewritten-text></p> |
<typewritten-text>は単なるHTMLであるため、他のHTMLタグも使用できます。
1 |
<p><typewritten-text>Some <strong>strong</strong> and <em>emphasized</em> text.</typewritten-text></p> |
オプション
タイプライターのさまざまなアニメーションも用意されています。
タイプライターのエフェクトを永遠に繰り返す。
1 |
<p>Some <typewritten-text repeat>text to type out!</typewritten-text></p> |
タイプライターの各文字間の時間を調整する。
1 |
<p>Some <typewritten-text letter-interval="400">text to type out!</typewritten-text></p> |
タイプライターの一時停止。
1 |
<p>Some <typewritten-text paused>text to type out!</typewritten-text></p> |
また、<typewritten-text>は単なるHTMLであるため、他のHTMLタグと同様にCSSでスタイルを与えることができます。
1 2 3 |
typewritten-text { color: red; } |
sponsors