首頁 > web前端 > css教學 > 建立具有進階動畫的互動式 CTA 按鈕

建立具有進階動畫的互動式 CTA 按鈕

Linda Hamilton
發布: 2024-11-23 10:09:10
原創
636 人瀏覽過

在本文中,我們將逐步使用 HTML、CSS 和 JavaScript 建立一個具有流暢動畫和動態效果的現代號召性用語 (CTA) 按鈕。此按鈕不僅僅是一個簡單的 UI 元素,它還是一個互動式中心裝飾品,可以增強用戶參與度並提供精美的體驗。

按鈕的功能

  • 動態漸變過渡:帶有顏色變化的引人注目的懸停效果。
  • 縮放和旋轉動畫:微妙的動作來吸引註意力。
  • 點選回饋:點擊時平滑的縮小效果。
  • 載入指示器:導航前的現代「重定向...」訊息。
  • 完全響應式設計:針對所有螢幕尺寸進行了最佳化。

為什麼要注意互動按鈕?

按鈕是任何網路介面的重要組成部分。無論是註冊表單、促銷優惠或獨立遊戲的號召性用語,精心設計的按鈕都可以:

  • 提高用戶參與度。
  • 引導訪客執行特定操作。
  • 讓您的介面感覺優雅且專業。

第 1 步:HTML 結構

這是我們按鈕的基本結構。廣告容器保存內容和圖形,而 cta 按鈕作為我們的主要互動元素。

<div>



<p>Step 2: CSS Styling<br>
The CSS brings the button to life with gradients, hover effects, and animations.<br>
</p>

<pre class="brush:php;toolbar:false">body {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  background: radial-gradient(circle at top, #141E30, #243B55);
  color: white;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.ad-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 25px;
  backdrop-filter: blur(15px);
  box-shadow: 0px 25px 60px rgba(0, 0, 0, 0.5);
  border: 2px solid rgba(255, 255, 255, 0.3);
  width: 90%;
  max-width: 1300px;
  animation: slideIn 1.5s ease-out;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.cta-button {
  display: inline-block;
  padding: 15px 35px;
  font-size: 1.2rem;
  font-weight: bold;
  text-transform: uppercase;
  color: white;
  text-decoration: none;
  background: linear-gradient(45deg, #ff416c, #ff4b2b);
  border-radius: 50px;
  box-shadow: 0px 10px 25px rgba(255, 65, 108, 0.5);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: pulse 3s infinite alternate;
}

.cta-button:hover {
  transform: scale(1.15) rotate(2deg);
  box-shadow: 0px 15px 30px rgba(255, 65, 108, 0.7);
  filter: brightness(1.2);
}
登入後複製

CSS 關鍵亮點:

  • 懸停效果:按鈕稍微縮放和旋轉以創建動態互動。
  • 漸層背景:使用線性漸層打造現代而充滿活力的外觀。
  • 盒子陰影:使用分層陰影為按鈕添加深度。

第 3 步:使用 JavaScript 加入互動性

JavaScript 提供響應式回饋和流暢的使用者體驗。

const ctaButton = document.querySelector('.cta-button');

// Dynamic gradient change on hover
ctaButton.addEventListener('mouseover', () => {
  ctaButton.style.background = 'linear-gradient(90deg, #1e90ff, #00c6ff, #00ffa3)';
  ctaButton.style.boxShadow = '0px 15px 35px rgba(30, 144, 255, 0.6)';
  ctaButton.style.transform = 'scale(1.1) rotate(-2deg)';
  ctaButton.style.transition = 'all 0.3s ease';
});

// Reset on mouse out
ctaButton.addEventListener('mouseout', () => {
  ctaButton.style.background = 'linear-gradient(45deg, #ff416c, #ff4b2b)';
  ctaButton.style.boxShadow = '0px 10px 20px rgba(255, 65, 108, 0.5)';
  ctaButton.style.transform = 'scale(1) rotate(0deg)';
  ctaButton.style.transition = 'all 0.3s ease';
});

// Click action
ctaButton.addEventListener('click', () => {
  ctaButton.style.pointerEvents = 'none';
  ctaButton.style.transform = 'scale(0.95)';
  alert('Redirecting you to the game showcase page!');
  setTimeout(() => {
    window.location.href = 'https://gladiatorsbattle.com/indie-games';
  }, 1500);
});
登入後複製

現場示範

Creating an Interactive CTA Button with Advanced Animations

您可以在 CodePen 上觀看即時演示,以了解按鈕的實際操作。嘗試各種樣式和動畫,打造出屬於您自己的作品!

https://codepen.io/HanGPIIIErr/pen/WNVqOyq

為什麼這很重要

一個簡單的按鈕不僅僅是一個 UI 元素,它還是一個給人留下深刻印象的機會。無論您是推銷產品還是引導用戶執行特定操作,精美的互動式按鈕都可以增強用戶體驗並提高轉換率。

推廣您的獨立遊戲!

您是一位想要展示您的專案的獨立遊戲開發者嗎?查看 GladiatorsBattle.com,這是一個免費平台,您可以在其中上傳遊戲並與不斷發展的社區建立聯繫。不要忘記在這裡加入我們的 Discord 社群:https://discord.gg/YBNF7KjGwx。

讓我們一起為創作者建立一個令人難以置信的社群! ?

結論

諸如此 CTA 按鈕之類的互動式 UI 元素可以改變您網站的外觀和感覺。請隨意使用此程式碼、對其進行調整併使其成為您自己的程式碼。如果您有任何反饋或改進,請在下面的評論中分享! ?

以上是建立具有進階動畫的互動式 CTA 按鈕的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板