返回顶部
首页 > 资讯 > 精选 >CSS实现粒子动态按钮效果的示例
  • 190
分享到

CSS实现粒子动态按钮效果的示例

2023-06-08 05:06:15 190人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关CSS实现粒子动态按钮效果的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。按钮(button)可能是网页中最常见的组件之一了,大部分都平淡无奇,如果你碰到的是一个这样的按钮

这篇文章将为大家详细讲解有关CSS实现粒子动态按钮效果的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

按钮(button)可能是网页中最常见的组件之一了,大部分都平淡无奇,如果你碰到的是一个这样的按钮,会不会忍不住多点几次呢?

CSS实现粒子动态按钮效果的示例

通常这类效果第一反应可能就是借助 canvas 了,比如下面这个 案例

CSS实现粒子动态按钮效果的示例

效果就更加震撼了,当然 canvas 实现也有一定的门槛,而且实际使用起来也略微麻烦(所有 js 实现的通病),这里尝试一下 CSS 的实现方式。

生成粒子

抛开 js 方案,还有 htmlCSS 实现方式。 HTML 就不用说了,直接写上大量的标签

<button>    button    <i></i>    <i></i>    <i></i>    <i></i>    <i></i>    ...</button>

一般情况下我不是很喜欢这种方式,标签太多,结构不美观,而且有可能对现有的页面造成其他影响(很多情况下并不方便修改原始 HTML 结构)

那么来看看 CSS 实现方式,主要也是两种方式,其实就是想一下有哪些属性可以无限叠加,一个是 box-shadow ,还有一个是 background-imagecss3支持无限叠加)。

1.box-shadow

我们先看看 box-shadow 方式,为了避免使用额外标签,这里采用伪元素生成。

.button::before{  position: absolute;  content: '';  width: 5px;  height: 5px;  border-radius: 50%;  background-color: #ff0081;  box-shadow: 10px 10px #ff0081,15px 0px 0 2px #ff0081,20px 15px 0 3px #ff0081,...;}

CSS实现粒子动态按钮效果的示例

效果还是有的,主要就是多花点时间来调试,这里主要根据偏移量和扩展来决定粒子的位置和大小。

不过这里的偏移量只能是 px 单位,无法很好的自适应按钮的大小,所以这里采用第二种方式来实现

background-image

CSS3中 background-image 是可以无限叠加的,类似于

.myclass {  background: background1, background2,  backgroundN;}

这里我们可以采用径向渐变 radial-gradient 来实现多个小圆点。

.button::before{  position: absolute;  content: '';  left: -2em;  right: -2em;  top: -2em;  bottom: -2em;  pointer-events: none;  background-repeat: no-repeat;  background-image: radial-gradient(circle, #ff0081 20%, transparent 0),   radial-gradient(circle, #ff0081 20%, transparent 0),  radial-gradient(circle, #ff0081 20%, transparent 0),   radial-gradient(circle, #ff0081 20%, transparent 0),   ...;  background-size: 10% 10%, 20% 20%, 15% 15%,...;  background-position: 18% 40%, 20% 31%, 30% 30%,...;}

这里主要通过 background-sizebackground-position 来控制原点的尺寸与位置,看着好像挺复杂,其实只要 background-sizebackground-positionbackground-image 位置一一对应就行了。实际开发中可能有点难调试,可以直接在控制台中通过键盘上下左右键微调实时预览效果(可以考虑做一个可视化工具)。

CSS实现粒子动态按钮效果的示例

这样就做出了一个简单的粒子效果。

动起来

虽然 background-image 不支持 CSS 动画,但是另外两个 background-sizebackground-position 支持呀,所以, CSS transitionCSS animation 都可以用起来。

动画效果很简单,就是粒子从中心往外扩散,并且逐渐消失的过程。

transition

我们先看看 :hover 交互

.button::before{  transition:.75s background-position ease-in-out,75s background-size ease-in-out;}.button:hover::before{  background-position: 5% 44%, -5% 20%, 7% 5%...;  background-size: 0% 0%;}

当然直接这样设置肯定是不理想,鼠标离开时会收缩回去,效果如下

CSS实现粒子动态按钮效果的示例

我们需要是鼠标离开时不收缩回去,如何实现呢?

很简单,把 transition 设置在 :hover 下就可以了,表示只有当鼠标经过时才有过渡,离开时没有

.button:hover::before{  background-position: 5% 44%, -5% 20%, 7% 5%...;  background-size: 0% 0%;  transition:.75s background-position ease-in-out,75s background-size ease-in-out;}

CSS实现粒子动态按钮效果的示例

这样是不是感觉稍微好些了呢?点击 这里 查看。

如果我们想做成点击的时候出现粒子动画该怎么做呢?这里就需要借助 :active 伪类了。

如果我们按照 :hover 逻辑,那么

.button:active::before{  background-position: 5% 44%, -5% 20%, 7% 5%...;  background-size: 0% 0%;  transition:.75s background-position ease-in-out,75s background-size ease-in-out;}

CSS实现粒子动态按钮效果的示例

很遗憾,只有当只有按住不动的时候才能触发,一旦鼠标抬起就没有了,这个时候我们就需要换个角度了。可以这么想象一下,默认就是发散的,然后点击的时候聚拢,抬起的时候就会有还原成之前的发散状态,同时,在点击的时候需要取消掉过渡效果,如下

.button::before {        background-position: 5% 44%...;    background-size: 0% 0%;    transition: background-position .5s ease-in-out, background-size .75s ease-in-out;}.button:active::before {  transition:0s;  background-size: 10% 10%, 20% 20%...;  background-position: 18% 40%, 20% 31%,...;}

你可以查看这个 demo

为什么在 :active 需要 transition:0s 呢,你可以试下不添加的效果就明白了,如下

CSS实现粒子动态按钮效果的示例

animation

animationtransition 实现原理比较类似,优点是可以做出更加精细的动画,这里就拿 :active 方式来说吧。

.button::before{    animation: bubbles ease-in-out .75s forwards;}.button:active::before {  animation: none;   background-size: 0;}@keyframes bubbles {  0% {    background-position: 18% 40%, ...;  }  50% {    background-position: 10% 44%, ...;  }  100% {    background-position: 5% 44%, ...;    background-size: 0% 0%;  }}

CSS实现粒子动态按钮效果的示例

可以在 这里 查看源码

唯一的不足可能是初始化动画会自执行一次。

小结

上面介绍了纯CSS实现一个粒子动效的按钮,优点很明显,复制一下 CSS 直接扔到项目里就能用,管他什么原生项目还是 React 项目,也无需绑定什么事件,也无需额外的逻辑处理,增强现有体验。试想一下,如果这是一个&lsquo;购买&rsquo;按钮,会不会触发你多购买几次呢,反正我肯定是会被吸引住了,哈~

缺点也还是有的,比如上面的定位,密密麻麻都是工作量啊,建议这些功能在项目整体完成之后再细细打磨,也可以试着做一些可视化工具来减轻工作量,完。

关于“CSS实现粒子动态按钮效果的示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: CSS实现粒子动态按钮效果的示例

本文链接: https://lsjlt.com/news/251889.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CSS实现粒子动态按钮效果的示例
    这篇文章将为大家详细讲解有关CSS实现粒子动态按钮效果的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。按钮(button)可能是网页中最常见的组件之一了,大部分都平淡无奇,如果你碰到的是一个这样的按钮...
    99+
    2023-06-08
  • jQuery实现动态粒子效果
    本文实例为大家分享了jQuery实现动态粒子效果的具体代码,供大家参考,具体内容如下 效果图 代码 <!DOCTYPE html> <html lang="...
    99+
    2024-04-02
  • Python粒子烟花动态效果实现
    目录效果展示实现代码剩下代码跨年倒计时还有18天?我已经开始整烟花了,虽然不是很好看吧,但是也能将就看看 这个的背景图,音乐,还有文字都是可以自己修改的哦 效果展示 依次导入本次...
    99+
    2023-01-03
    Python粒子烟花 Python动态烟花 Python烟花
  • CSS如何实现在单击按钮时显示按下的动态效果
    这篇文章将为大家详细讲解有关CSS如何实现在单击按钮时显示按下的动态效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果:不过本文不仅会介绍实现这一种按下的动态效果,还...
    99+
    2024-04-02
  • vue3中使用VueParticles实现粒子动态背景效果
    目录particles.vue3官网可以仔细看下这里 有案例跟文档官网 Demo好了直接进入主题 安装使用Vue3 语法糖中使用配置单独写到文件particles.js,代码看起来简...
    99+
    2024-04-02
  • 使用jQuery怎么实现一个动态粒子效果
    使用jQuery怎么实现一个动态粒子效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。<!DOCTYPE html><html lan...
    99+
    2023-06-14
  • JavaScript+Canvas实现带跳动效果的粒子动画
    目录前言实现过程运行效果总结前言 用 HTML5 的 Canvas 元素实现一个带有跳动效果的粒子动画。会用到 Canvas 的2D渲染上下文,通过 JavaScript 编写绘图代...
    99+
    2023-03-14
    JavaScript Canvas实现粒子动画 Canvas粒子动画 JavaScript Canvas
  • CSS3中怎么实现粒子动画效果
    这期内容当中小编将会给大家带来有关CSS3中怎么实现粒子动画效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。按钮点击粒子动画<div class=&qu...
    99+
    2024-04-02
  • css实现登录按钮炫酷效果(附代码实例)
    分析我们抛开before不谈的话;其实原理和就是通过背景大小以及配合位置达到颜色渐变的效果。text-transform: uppercase;是指将字母转为大写然后设置背景和背景大小当鼠标移入(hover)按钮时改变其定位即可效果一:这种...
    99+
    2023-05-14
    前端 CSS JavaScript
  • 纯CSS怎么实现按钮的悬停效果
    这篇文章主要为大家展示了纯CSS怎么实现按钮的悬停效果,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“纯CSS怎么实现按钮的悬停效果”这篇文章吧。   代码解读 ...
    99+
    2024-04-02
  • css如何实现button按钮的点击效果
    css实现button按钮点击效果的方法:1、创建html文件;2、添加html代码架构;3、在body标签中使用button标签设计一个按钮;4、添加script标签并写入css样式代码来实现按钮点击效果;5、通过浏览器方式查看设计效果。...
    99+
    2024-04-02
  • CSS3怎么实现动画按钮效果
    这篇文章主要介绍“CSS3怎么实现动画按钮效果”,在日常操作中,相信很多人在CSS3怎么实现动画按钮效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS3怎么实现动画按钮...
    99+
    2024-04-02
  • 原生JS实现滑动按钮效果
    利用Js制作的滑动按钮的具体代码,供大家参考,具体内容如下 首先贴上效果图 再贴上源码 <!DOCTYPE html> <html lang="en">...
    99+
    2024-04-02
  • CSS+JS怎么实现水滴涟漪动画按钮效果
    这篇文章主要为大家展示了CSS+JS怎么实现水滴涟漪动画按钮效果,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“CSS+JS怎么实现水滴涟漪动画按钮效果”这篇文章吧。代码如下所示:<!DOCT...
    99+
    2023-06-08
  • CSS3点击按钮实现背景渐变动画效果的示例分析
    这篇文章主要介绍了CSS3点击按钮实现背景渐变动画效果的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图如下:实例代码如下:&l...
    99+
    2024-04-02
  • 如何使用CSS实现发光的按钮效果
    这篇“如何使用CSS实现发光的按钮效果”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何使用CSS实现发光的按钮效果”,小编整理了以下知识点,请大家跟着小编的...
    99+
    2024-04-02
  • 怎么用css实现button按钮的点击效果
    本文小编为大家详细介绍“怎么用css实现button按钮的点击效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用css实现button按钮的点击效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先创建一...
    99+
    2023-07-04
  • 使用CSS实现按钮点击效果的方法
    使用CSS实现按钮点击效果的方法前言:在现代网页设计中,按钮是页面交互中不可或缺的元素之一。一个好的按钮样式不仅可以提升用户体验,还能增强页面的视觉效果。本文将介绍一种使用CSS实现按钮点击效果的方法,为页面增添动感和交互性。一、基础按钮样...
    99+
    2023-11-21
    CSS按钮点击效果
  • 如何使用css实现按钮圆角样式的展示效果
    这篇文章给大家分享的是有关如何使用css实现按钮圆角样式的展示效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   代码如下:   <divstyle="w...
    99+
    2024-04-02
  • 如何使用纯CSS实现3D按钮效果
    小编给大家分享一下如何使用纯CSS实现3D按钮效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css巧妙利用了box-shadow来实现3D物体的立体感,当按钮...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作