ホームページ ウェブフロントエンド CSSチュートリアル 回転グローアニメーションを使用して目を引くボタン効果を作成する

回転グローアニメーションを使用して目を引くボタン効果を作成する

Dec 24, 2024 pm 02:48 PM

Web サイトが、光る回転効果を持つ目を引くボタンをどのように作成しているか考えたことはありますか?これらの効果はユーザーを魅了し、Web サイトの UI/UX を向上させることができます。 CSS と少しの JavaScript を使用して、段階的に構築する方法を見てみましょう。

ステップ 1: ボタンのレイアウトを作成する

最初は簡単なボタンを作成しましょう -

<button>WHY CHOOSE US</button>
ログイン後にコピー
ログイン後にコピー
button {
  width: 250px;
  height: 80px;
  border-radius: 3rem;
  outline: none;
  background: black;
  border: 2px solid transparent;
  color: white;
  cursor: pointer;
}

/* ... Other styles ... */
ログイン後にコピー
ログイン後にコピー

このようになります-

Create Eye-Catching Button Effect with Rotating Glow Animation

ステップ 2: グラデーション効果を追加する

ここで、円錐グラデーションと呼ばれる特別な種類のグラデーションについて話しましょう。聞いたことありますか?線形グラデーションは直線に沿って色を滑らかに遷移させ、放射状グラデーションは円の中心から外側に向かって色をブレンドしますが、円錐形グラデーションは中心点の周りで色を遷移させ、円形または円錐状のパターンを形成します。これは、ダイナミックで視覚的に興味深いデザインを作成するユニークな方法です。

以下の違いを参照してください -

この効果には円錐形のグラデーションを使用します。それをボタンに追加しましょう -

  background: conic-gradient(from 0, transparent, white 10%, transparent 20%)
    border-box;
ログイン後にコピー
ログイン後にコピー

CSS スニペットには円錐グラデーションが含まれており、背景のサイズ変更にボーダーボックスを使用しています。何が起こっているかの内訳は次のとおりです:

円錐勾配の内訳

円錐グラデーション(0から、透明、白10%、透明20%):

0 から: グラデーションは 0 度の角度 (円の上部) から始まり、時計回りに進みます。

透明: グラデーションは完全に透明な色で始まります。

白 10%: グラデーションの全周の 10% で、色は白に移行します。

透明 20%: グラデーションの円周の 20% で、透明に戻ります。

このパターンは、透明度に囲まれた白の「スライス」を作成します。

ボーダーボックス

border-box: グラデーションは、要素のコンテンツ、パディング、境界線を含む領域に適用されます。これは、グラデーションが要素のボックス全体を境界線の外側の端まで覆うことを意味します。

このエフェクトを適用すると、ボタンは次のようになります-

Create Eye-Catching Button Effect with Rotating Glow Animation

ここで、この円錐形のグラデーションをボタンのグラデーションの境界線として使用します。どうすればそれができるでしょうか?

ここではボックスサイジングの力を使います。このボタンの背景を複数作成します。ボタンの上部の背景は無地の背景になり、ボックス サイズとしてパディング ボックスが設定されます。これは、境界線まで伸びないことを意味します。以下のコードを参照してください -

<button>WHY CHOOSE US</button>
ログイン後にコピー
ログイン後にコピー

これで、コンテンツとパディングを含むボタンを覆う黒い背景ができました。先ほど追加した円錐グラデーションは境界線まで伸びています。境界線は透明なので、円錐形グラデーションの 2 ピクセルの太さが境界線を通して見えていることがわかります。現在、ボタンは次のようになります-

Create Eye-Catching Button Effect with Rotating Glow Animation

ステップ 3: グラデーションをアニメーション化する

光沢のあるグロー効果をボタンに追加しました。さあ、動かしてみよう。これを行うには、少しの JavaScript が必要です。まず、CSS を更新して、より柔軟で動的なものにします。

button {
  width: 250px;
  height: 80px;
  border-radius: 3rem;
  outline: none;
  background: black;
  border: 2px solid transparent;
  color: white;
  cursor: pointer;
}

/* ... Other styles ... */
ログイン後にコピー
ログイン後にコピー

ここで、前のセクションとの唯一の違いは、--angle という CSS 変数を導入したことです。 [from var(--angle, 0) は、--angle 値が定義されていない場合、デフォルト値は以前と同じ 0 になることを意味します。] そして、この ---angle 値を 0 から に変更します。 JavaScriptによる360度。その結果、円錐グラデーションが 0 度から 360 度まで移動し、輝く回転効果が得られます。 JavaScript の部分を見てみましょう -

  background: conic-gradient(from 0, transparent, white 10%, transparent 20%)
    border-box;
ログイン後にコピー
ログイン後にコピー

操作はとても簡単です。 DOM コンテンツがロードされた後、rotate() という関数を呼び出します。この関数は、反復ごとに角度を 1 ずつ増分し、その値をボタンの CSS 変数 --angle に設定します。これにより、最終的に円錐勾配の位置が変わります。 requestAnimationFrame という組み込み関数を使用して、この関数を繰り返し呼び出します。これは、setInterval や setTimeOut のような特別な Javascript 関数です。この requestAnimationFrame 関数について少し詳しく見てみましょう -

内容:
アニメーションを滑らかに保ちます: アニメーションが画面のリフレッシュ レート (通常は 60 フレーム/秒) と同期するため、途切れ途切れに見えなくなります。

電力の節約: ユーザーが別のタブに切り替えるとアニメーションが一時停止され、リソースが節約されます。

最適なタイミングで関数を呼び出します。 更新時期がアニメーション ロジックに通知されるため、すべてが同期されます。

仕組み:
requestAnimationFrame に呼び出す関数 (通常はアニメーション ロジック) を指定します。この関数は、ブラウザが画面上に次のフレームを描画する直前に実行されます。

そして、最終結果が得られます。段階的な変更については、以下のコードペンを参照してください -

これで、CSS と JavaScript を使用して、光る回転ボタンが作成されました。グラデーションやアニメーションの速度を自由に調整したり (どうすればよいか? コメントに残してください)、独自のカスタム効果を追加したりすることもできます。これらのテクニックは、UI を目立たせるための優れた方法です。

クリエイティブな Javascript アニメーションや CSS ボタン効果のアイデアをもっと知りたいですか?コメント欄でお知らせください。次回のブログ投稿もお楽しみに!

ここでも私を見つけることができます-

X
LinkedIn

以上が回転グローアニメーションを使用して目を引くボタン効果を作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

ブラウザから有効なCSSプロパティ値を取得できますか? ブラウザから有効なCSSプロパティ値を取得できますか? Apr 02, 2025 pm 06:17 PM

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

WordPressブロックエディターでのマークダウンとローカリゼーションを使用します WordPressブロックエディターでのマークダウンとローカリゼーションを使用します Apr 02, 2025 am 04:27 AM

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

レスポンシブデザインのブラウザを比較します レスポンシブデザインのブラウザを比較します Apr 02, 2025 pm 06:25 PM

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

スティッキーヘッダーとフッターにCSSグリッドを使用する方法 スティッキーヘッダーとフッターにCSSグリッドを使用する方法 Apr 02, 2025 pm 06:29 PM

CSS Gridは、レイアウトをこれまで以上に簡単にするように設計されたプロパティのコレクションです。何でもするように、少し学習曲線がありますが、グリッドは

Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

See all articles