首頁 web前端 css教學 使用旋轉發光動畫創造引人注目的按鈕效果

使用旋轉發光動畫創造引人注目的按鈕效果

Dec 24, 2024 pm 02:48 PM

有沒有想過網站如何創造那些具有發光、旋轉效果的引人注目的按鈕?這些效果可以吸引使用者並提升網站的 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

現在,我們將使用這個圓錐漸層作為按鈕的漸變邊框。我們怎樣才能做到這一點?

我們將在這裡使用盒子大小的力量。我們將為這個按鈕製作多個背景。按鈕的頂部背景將是純色背景,其中 padding-box 作為 box-sizing,這意味著它不會拉伸到邊框。請參閱下面的程式碼-

<button>WHY CHOOSE US</button>
登入後複製
登入後複製

所以,現在我們有一個黑色背景覆蓋按鈕,包括它的內容和填充。我們之前加入的圓錐曲線一直延伸到邊界。由於邊框是透明的,我們可以透過邊框看到圓錐漸變的 2px 厚度。現在,按鈕看起來像這樣 -

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 改為360 通過 JavaScript。結果,圓錐曲線梯度將從 0 度移動到 360 度,並產生發光的旋轉效果。現在讓我們來看看 JavaScript 部分 -

  background: conic-gradient(from 0, transparent, white 10%, transparent 20%)
    border-box;
登入後複製
登入後複製

操作非常簡單。載入 DOM 內容後,我們呼叫一個名為rotate()的函數。函數在每次迭代時將角度增加 1,並將該值設為按鈕的 CSS 變數 --angle。這最終改變了圓錐曲線的位置。我們使用名為 requestAnimationFrame 的內建函數迭代呼叫此函數。這是一個特殊的 Javascript 函數,例如 setInterval 或 setTimeOut。讓我們詳細了解 requestAnimationFrame 函數 -

它的作用:
保持動畫流暢:它將動畫與螢幕的更新率(通常為每秒 60 幀)同步,因此動畫看起來不會斷斷續續。

節省電力:當使用者切換到另一個標籤時暫停動畫,節省資源。

在完美的時間調用您的函數:它告訴您的動畫邏輯何時需要更新,因此一切保持同步。

工作原理:
您為 requestAnimationFrame 提供一個要呼叫的函數(通常是您的動畫邏輯)。它在瀏覽器在螢幕上繪製下一幀之前運行此函數。

然後,我們得到了最終結果。請參閱下面的 Codepen 以取得逐步變更-

現在您已經使用 CSS 和 JavaScript 建立了一個發光的旋轉按鈕!隨意調整漸變、動畫速度(知道我們該怎麼做嗎?將其留在評論中。),甚至添加您自己的自訂效果。這些技術是讓您的 UI 脫穎而出的好方法。

想要更多創意 Javascript 動畫或 CSS 按鈕效果的創意嗎?請在評論中告訴我,並敬請關注下一篇文章!

你也可以在這裡找到我-

X
領英

以上是使用旋轉發光動畫創造引人注目的按鈕效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

讓我們嘗試在這裡造成一個術語:“靜態表單提供商”。你帶上html

每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom 每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom Apr 17, 2025 am 10:55 AM

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

與部分元素的交易 與部分元素的交易 Apr 12, 2025 am 11:39 AM

同一天發表了兩篇文章:

多腳步滑塊:一般案例 多腳步滑塊:一般案例 Apr 12, 2025 am 10:52 AM

這個兩部分系列的第一部分詳細介紹了我們如何獲得兩次跑步的滑塊。現在,我們&#039;

帶有HTML對話框元素的一些動手 帶有HTML對話框元素的一些動手 Apr 16, 2025 am 11:33 AM

這是我第一次查看HTML元素。我已經意識到了一段時間,但是尚未將其旋轉。它很酷,

我們如何標記Google字體並創建Goofonts.com 我們如何標記Google字體並創建Goofonts.com Apr 12, 2025 pm 12:02 PM

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭 它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭 Apr 15, 2025 am 11:01 AM

該文檔負責人可能不是網站上最迷人的部分,但是其中所處的內容對於您的網站的成功也一樣重要

See all articles