搜索
首页web前端css教程使用旋转发光动画创建引人注目的按钮效果

有没有想过网站如何创建那些具有发光、旋转效果的引人注目的按钮?这些效果可以吸引用户并提升网站的 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
揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践Mar 08, 2025 am 09:45 AM

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

使用智能表单框架创建JavaScript联系表格使用智能表单框架创建JavaScript联系表格Mar 07, 2025 am 11:33 AM

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

将框阴影添加到WordPress块和元素将框阴影添加到WordPress块和元素Mar 09, 2025 pm 12:53 PM

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

使用GraphQL缓存使用GraphQL缓存Mar 19, 2025 am 09:36 AM

如果您最近开始使用GraphQL或审查了其优点和缺点,那么您毫无疑问听到了诸如“ GraphQl不支持缓存”或

使您的第一个自定义苗条过渡使您的第一个自定义苗条过渡Mar 15, 2025 am 11:08 AM

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。

比较5个最佳的PHP形式构建器(和3个免费脚本)比较5个最佳的PHP形式构建器(和3个免费脚本)Mar 04, 2025 am 10:22 AM

本文探讨了Envato Market上可用的PHP表单构建器脚本,比较了其功能,灵活性和设计。 在研究特定选项之前,让我们了解PHP形式构建器是什么以及为什么要使用一个。 PHP形式

展示,不要说展示,不要说Mar 16, 2025 am 11:49 AM

您花多少时间为网站设计内容演示文稿?当您撰写新的博客文章或创建新页面时,您是在考虑

NPM命令是什么?NPM命令是什么?Mar 15, 2025 am 11:36 AM

NPM命令为您运行各种任务,无论是一次性或连续运行的过程,例如启动服务器或编译代码。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),