検索
ホームページウェブフロントエンドCSSチュートリアルカスタムプロパティを備えたCSSのタイマーバー

カスタムプロパティを備えたCSSのタイマーバー

最近、プロジェクトに目に見えるタイマーを実装する必要がありますが、リファレンスとしてプロジェクトには、すでに同様のタイマーUIデザインがあります。ユーザーは数が減少するのを見る必要はありませんが、「バー」が徐々に完全から空に減少するのを見たいと思っています。 「タイマー」UIを実装する方法がたくさんあるため、これについて言及しました。この記事は、これらすべての方法についてではなく(Codepenの検索結果がより役立つでしょう)、むしろ私にとって非常にうまく機能するものについてです。

私が必要とするタイムのタイプは、プロジェクトの「ターンタイム」バーと呼ばれるものです。アクションを実行すると、回転時間がトリガーされる可能性があり、その後のほとんどのアクションは、ターン時間の終了までブロックされます。したがって、透明な赤いバータイマーが正しいUIの選択です。それは人々にリズムと流れの感覚を与え、あなたはタイマーの終了時間を「感じ」、次の操作をスケジュールすることができます。

このタイマーの設定は非常に簡単です...

将来、コンテナの空の部分をスタイリングする必要がある場合に備えて、親/子要素の構造を作成しましょう。

<div>
  <div></div>
</div>

今、私たちは内側のバーのスタイルだけです。

 .Round-Time-Bar Div {
  高さ:5px;
  背景:線形勾配(下部、赤、#900);
}

これにより、タイムインジケータとして使用できる素敵な赤いバーが提供されます。

次に、カウントダウンする必要がありますが、ここでは機能を考慮する必要があります。このようなタイマーは、どれくらいの時間がかかるかを知る必要があります!この情報をHTMLで直接提供できます。これは、JavaScriptの使用を避けるという意味ではありません - 私たちはそれを受け入れています。 「ねえ、JavaScript、期間変数を教えてください。残りを処理してください」と言っています。

<div style="--duration: 5;">
  <div></div>
</div>

実際、このアプローチは、JavaScriptを処理する最新のDOMに非常に適しています。 --variableが正しい限り、いつでもDOM要素を再レンダリングでき、設計がこの状況をうまく処理できることを確認できます。このようなバリエーションを作成します。

それでは、アニメーションを始めましょう。良いニュースは、簡単だということです。これは単一行のキーフレームです:

 @KeyFrames RoundTime {
  に {
    /*アニメーション「width」よりも効率的*/
    変換:Scalex(0);
  }
}

水平にスケーリングしてもバーのスタイルが圧縮されていないため、バーを「圧縮」できます。これを行うと、幅をアニメーション化できます。これはそれほど大きな問題ではありません。特に、他のもののレイアウトが再調整されないためです。

次に、バーに適用します。

 .Round-Time-Bar Div {
  / * ... */
  アニメーション:RoundTime Calc(var( -  duration) * 1s)ステップ(var( - 持続時間))フォワード;
  変換オリジン:左中央。
}

--duration変数を使用してアニメーション期間を設定する方法をご覧ください。これはほとんどの作業を達成します。また、同じ数のsteps()を設定するために使用して、「グリッドごとにグリッド」を減少させます。 「Bid-by-Frame」はあなたが好きな視覚的なUI効果かもしれません(私は好きです)が、JavaScriptがいつでもこのバーを再レンダリングする可能性があるという考えにも適応し、Bid by-Frameで気づく可能性は低いです。整数を持続時間値として使用したため、このように使用できるようにしました。

ただし、スムーズなアニメーションが必要な場合は、これを行うことができます。

<div ...="" data-style="smooth"></div>

その後、 stepsを使用しないでください

 .Round-Time-Bar [data-style = "smooth"] div {
  アニメーション:RoundTime Calc(var( -  duration) * 1s)線形方向。
}

また、リニアアニメーションも使用していることに注意してください。これはタイマーにとって理にかなっているようです。それのように時間は緩和されません。それともそれは?とにかく、これはあなたの選択です。特定のポイントで加速または減速のように見えるタイマーが必要な場合は、それを求めてください。

同じdata-attributeベースのAPIを使用して、色の変更を実装できます。

 .round-time-bar [data-color = "blue"] div {
  背景:線形勾配(下部、#64B5F6、#1565C0);
}

最後のバリアントは、各「秒」の幅を修正することです。このようにして、10秒のタイマーは5秒のタイマーよりも長く見えます。

 .Round-Time-Bar [data-style = "sixed"] div {
  幅:calc(var( -  duration) * 5%);
}

これがデモンストレーションです:

CSSアニメーションを再起動するためのヒントに注意してください。

ああ、ところで、私はそれがあることを知っています<meter></meter>要素、それはよりセマンティックかもしれませんが、それ自体のUIは私がここで望むようにアニメーション化することはできません - 少なくともそれと戦うことはできません。しかし、それがもっとアクセスしやすいかどうかはわかりませんか?現在の価値を有用な方法で宣言していますか? JavaScriptを使用してリアルタイムで更新する場合<meter></meter>、よりアクセスしやすいタイマーでしょうか?誰かが知っているなら、私はここで解決策をリンクできます。

以上がカスタムプロパティを備えたCSSのタイマーバーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
毎週のプラットフォームニュース:Galaxy Store、Tappable Stories、CSS SubgridのWebアプリ毎週のプラットフォームニュース:Galaxy Store、Tappable Stories、CSS SubgridのWebアプリApr 14, 2025 am 11:20 AM

今週のラウンドアップ:Firefoxは錠前屋のような力を獲得し、Samsung&#039; s Galaxy StoreがプログレッシブWebアプリをサポートし始め、CSS SubgridはFirefoxで出荷しています

毎週のプラットフォームニュース:インターネットエクスプローラーモード、検索コンソールの速度レポート、通知プロンプトの制限毎週のプラットフォームニュース:インターネットエクスプローラーモード、検索コンソールの速度レポート、通知プロンプトの制限Apr 14, 2025 am 11:15 AM

今週のラウンドアップ:Internet ExplorerがEdgeに進み、Google Search Consoleが新しい速度レポートを宣伝し、FirefoxがFacebookの通知を提供します

CSSカスタムプロパティを使用したスコープのパワー(および楽しい)CSSカスタムプロパティを使用したスコープのパワー(および楽しい)Apr 14, 2025 am 11:11 AM

おそらく、CSS変数に少なくとも少し精通しているでしょう。そうでない場合は、ここに2秒の概要があります:それらは本当にカスタムプロパティと呼ばれます、あなたは設定します

私たちはプログラマーです私たちはプログラマーですApr 14, 2025 am 11:04 AM

建物のウェブサイトはプログラミングです。 HTMLとCSSの作成はプログラミングです。私はプログラマーです。ここでCSS-Tricksを読んでいる場合、あなたは&#039;

サイトから未使用のCSSをどのように削除しますか?サイトから未使用のCSSをどのように削除しますか?Apr 14, 2025 am 10:59 AM

ここに&#039;私が前もって知るのが好きなこと:これは難しい問題です。あなたがここに上陸した場合、あなたはあなたが伝えることができるツールを指し示すことを望んでいるので、あなたが&#039;

ピクチャーインピクチャーWeb APIの紹介ピクチャーインピクチャーWeb APIの紹介Apr 14, 2025 am 10:57 AM

Picture-in-Pictureは、2016年にMacos SierraをリリースしたSafariブラウザでWebに初めて登場しました。ユーザーがポップできるようになりました。

ギャツビーを使用してぼやけた効果のために画像を整理して準備する方法ギャツビーを使用してぼやけた効果のために画像を整理して準備する方法Apr 14, 2025 am 10:56 AM

Gatsbyは、画像の処理と処理の素晴らしい仕事をしています。たとえば、手動で画像の最適化で時間を節約するのに役立ちます

ああ、パディングの割合は親要素の幅に基づいていますああ、パディングの割合は親要素の幅に基づいていますApr 14, 2025 am 10:55 AM

私は今日、私の頭の中で完全に間違っていたことをパーセンテージベース(%)のパディングについて学びました!パディングの割合はに基づいているといつも思っていました

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール