CSSカウントダウンアニメーション:数字とリングタイマー

CSSカウントダウンアニメーション

CSSカウントダウンアニメーション:CSSで作る3-2-1の数字とリングタイマー

@property、カウンター、stroke-dashoffsetを使い、CSSだけで3-2-1の数字カウントダウンと縮んでいくリングタイマーを作りましょう。自分用のものを生成して、その場でプレビューできます。

CSSだけのカウントダウンは、登録済みの整数カスタムプロパティを開始の数字から0までアニメーションさせ、カウンターで表示します。--nを@propertyで整数として登録し、1秒に1回刻むようsteps()でアニメーションさせ、counter-reset: n var(--n)とcontent: counter(n)で表示します。リングにはstroke-dashoffsetのアニメーションを加えます。

CSSだけのカウントダウンを構成する部品

スプラッシュ画面のカウントダウン、クイズのタイマー、ローンチの瞬間には、スクリプトは必要ありません。このページでは、CSSだけで3-2-1の数字カウントダウンとリング型のカウントダウンを作り、開始の数字と速さを指定して自分用のものを生成でき、古いブラウザー向けの代替も紹介します。カレンダーの日付までのカウントダウンには、当サイトのカウントダウンタイマー生成ツールを使ってください。

よくある質問

カウントダウンがいきなり0に飛ぶのはなぜですか?

カスタムプロパティが登録されていないからです。登録されていないカスタムプロパティは補間できないので、ブラウザーは最初の値から最後の値へ一気に切り替えます。syntax "<integer>"、inherits、initial-valueを指定した@propertyルールを追加しましょう。

@propertyに対応しているブラウザーは?

MDNでは@propertyはBaseline 2024とされ、2024年7月から現行のブラウザーすべてで新たに利用可能になりました。古いブラウザーでは数字が刻まれないため、このページでは数字を積み重ねる代替を紹介しています。

カウントダウンの最後に「Go」と表示するには?

その単語を入れた2つ目の要素を追加し、opacity 0から始めて、カウントダウンの長さと同じanimation-delayでフェードインするアニメーションを付けます。同じタイミングで数字を隠しましょう。

これは日付までのカウントダウンと同じですか?

違います。日付までのカウントダウンには現在時刻が必要で、CSSでは読み取れないためJavaScriptが必要です。その種類は当サイトのカウントダウンタイマー生成ツールで作れます。このページは3-2-1のような短い固定のカウントダウン向けです。

カウンターの技が機能する理由

リングを描く

3-2-1の数字カウントダウン

@propertyとカウンターで刻む数字

コードを編集すると再実行されます。数字は1秒に1つずつ減り、0で止まります。

リング型カウントダウン

空になっていくリングの中の数字

リングはSVGの円のstroke-dashoffsetを使い、動きを減らす設定が求められると動きを止めます。

@propertyを使わない代替

animation-delayで数字を積み重ねる

それぞれの数字が独立した要素で、順番に1秒ずつ表示されます。CSSアニメーションに対応したどのブラウザーでも動きます。

カウントダウンジェネレーター

開始の数字:{n}

1ステップの秒数:{n}

カウントダウンのスタイル

数字のみ

数字とリング

リプレイ

カウントダウンのプレビュー

コードをコピー

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る