整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端开发-CSS 伪元素实现按钮波纹效果

SS伪元素主要是指HTML中没有定义、存在的元素,伪元素本身不是真正的页面元素,但是伪元素在使用过程中,其用法与效果与其他真正页面元素是一样的。伪元素只能在定义基础上动态显示其运行效果,在HTML源文件中并没有该元素的真正代码。CSS3中所定义的所有伪元素与伪类描述如下图所示:

CSS伪元素与伪类


按钮波纹ripple效果展示

ripple波纹

按钮的波纹效果主要是指按钮在点击时展示出的动态效果。在实现效果过程中可行的方法方式较多,例如可以使用JavaScript、CSS动画、JQuery等。网上目前按钮波纹实现效果较多,部分样式效果展示如下:

波纹效果展示


CSS 伪类波纹效果实现

CSS伪类波纹效果主要借助于before、after伪类与hover悬停选择器等实现类似波纹效果,本文主要借助after及hover等实现按钮的波纹效果,本例设计两种类似波纹效果,最终实现效果展示如下图所示:

设计样式1

设计样式2

本文设计实现的两类波纹效果样式描述如上图gif所示,其实现过程描述如下:

1、按钮基本样式设计

本例按钮基本样式主要包括宽度、高度、背景颜色等。使用元素选择器与类选择器定义了按钮元素的基本样式,其样式实现代码描述如下:

button,.button2,.button{width: 200px; height: 50px; background-color: green;border: 0; cursor: pointer;color: #FFF; font-size: 16px; position: relative;}

.button类主要用以实现设计样式1,.button2类主要用于实现设计效果2,两类按钮定义描述如下:

<button type="button" class="button">Ripple1</button>
<button type="button" class="button2">Ripple2</button>

2、after伪元素使用

after伪元素主要用于实现在指定元素的后面添加新的内容。本例提供的两种设计方式都是在button元素的后面添加新的类似div的新元素,其中样式1,新添加的元素与button本身重合,尺寸也一致。设计样式2中after元素位于button的底部位置,宽度与button相同,高度为指定尺寸5px。两个设计中after元素样式为实现动态展开效果都涉及宽度width为0。after元素的样式定义如下:

.button::after{content: " "; width: 0; height: 50px; position: absolute; left:50%;top: 0%;background-color: red;opacity: 0; transition: all .4s; }
.button2::after{content: " "; width: 0; height: 5px; position: absolute; left:50%;top: 100%;background-color: red;transition: all .4s; }

after元素CSS样式定义中使用了transition属性实现动画效果,即在0.4s内实现宽度从0改变为100%。

3、hover选择器的使用

hover选择器为悬停选择器,主要对鼠标在HTML元素悬停时样式进行设置。本例两个涉及效果都是借助hover悬停选择器对after样式进行设置,在初始化设置宽度为0的基础上宽度改变为100%,最终实现两端伸展的效果。hover选择器定义after元素样式描述如下所示:

.button:hover::after{left:0%; width: 100%; opacity: 0.6;}
.button2:hover::after{left:0%; width: 100%;}

以上给出了CSS伪元素实现波纹效果,主要借助了after、before伪元素与hover悬停选择器等。设计实现效果完整源文件截图如下:

案例完整代码


以上给出了JavaScript中的事件基本概念及案例分析,如有问题可在评论区讨论。本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。如果您对以上方面有兴趣或代码错误、建议与意见,可以联系作者,共同探讨。期待大家关注!相关文章链接如下:

前端开发-JavaScript中的事件(Event)及事件处理总结

前端开发-CSS3动画实现焦点(图文轮播)图效果

前端开发-JavaScript DOM动态生成文本框

前端设计-教你如何快速绘制HTML5动画

前端设计-响应式页面开发基础

前端设计-Ajax技术及实例展示

本输入特效

1.power-mode-input

PowerModeInput 可以让你的文本输入框更引人注目。

地址:https://github.com/lindelof/power-mode-input


2.TextInputEffects

简单的样式和效果,可增强文本输入交互。

地址:https://github.com/codrops/TextInputEffects


3.typewriterjs

一个简单而强大的原生javascript插件,具有很酷的打字机效果。

地址:https://github.com/tameemsafi/typewriterjs


4.t.js

轻量级 $.Hypertext.Typewriter

地址: https://github.com/mntn-dev/t.js

5.shuffle-text

ShuffleText 是一款纯js文字洗牌式切换特效插件。该插件在鼠标滑过指定的文本时,文字会不停的逐个进行翻转,类似洗牌效果,非常炫酷。

地址: https://github.com/ics-ikeda/shuffle-text

6.react-typewriter

适用于 react 的打字机的效果

地址:https://github.com/ianbjorndilling/react-typewriter

7.t-writer.js

T-Writer.js 用于实现原生打字机效果,没有任何依赖。

地址: https://github.com/ChrisCavs/t-writer.js

8.malarkey

模拟在DOM元素上的打字机效果。

地址:https://github.com/yuanqing/malarkey

  • 友好,灵活的API,提供精细的控制
  • 选项到重复该效果的限制。
  • 用于对自定义元素属性应用效果的选项。
  • 允许暂停和恢复顺序 on-the-fly
  • 广泛的测试,带有 100%覆盖范围。
  • 无相关性,超轻量,仅 1.5 缩小,或者 0.8 KB缩小和压缩

9.tinytyper

TinyTyper 一个微小的库用于在一段指定的文本元素上创建打字效果。

地址:https://github.com/lourenc/tinytyper

https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/66/8MTkbe9Crg.gif

10.jquery.typer

typer.js插件是一个非常有意思的jQuery插件,实现一个一个字输出,类似打字的效果。typer.js是一个比较小的插件,依赖于jQuery。typer.js使用起来也比较方便,允许设置打字时间间隔,循环输出,清除打字效果时间等。

11. Phaser-typewriter

Phaser.io Javascript库的打字机效果包装器。

地址: https://github.com/netgfx/Phaser-typewriter


按钮操作特效

1.ElasticProgress

ElasticProgress 可以创建一个有弹力效果的进度条。

地址: https://github.com/codrops/ElasticProgress

https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/66/1sfasfsafasf564safsaf6saf1as.gif

2. vue-particle-effect-buttons

爆发粒子特效按钮组件。

地址: https://github.com/dreambo8563/vue-particle-effect-buttons

3.nativescript-shine-button

NativeScript插件,可为按钮添加发光效果。

地址:https://github.com/hamdiwanis/nativescript-shine-button

4.react-parallax-button

让按钮有一个水平视差效果。

地址: https://github.com/venits/react-parallax-button

5.RippleButton

具有Material Theme波纹效果的按钮。

地址: https://github.com/mig82/RippleButton

6.css-ripple-effect

css-ripple-effect 是一款使用纯CSS3制作的炫酷扁平风格按钮点击波特效。该效果是仿照Android系统的Material design风格点击波来制作的。

地址:https://github.com/mladenplavsic/css-ripple-effect

人才们的 【三连】 就是小智不断分享的最大动力,如果本篇博客有任何错误和建议,欢迎人才们留言,最后,谢谢大家的观看。


作者:lindelof 译者:前端小智 来源:github

原文:https://github.com/lindelof/awesome-web-effect

天跟大家分享与CSS3按钮相关的特效展示案例,这些例子特效主要由CSS3编写出来,除了新鲜有创意之外,编写代码质量也很高,对于前端人员或设计师都有参考的价值,当然有的不是全CSS3编写的,部分是需要与JS代码结合使用才能发挥效果。

下面大家一起看看这些CSS按钮DEMO,确实很酷哦!

1.css按钮点击效果

2.css按钮提交动画

3.css按钮悬停动画

4.css订购按钮

5.css动画按钮

6.css黑白悬停按钮

7.css蓝色动画按钮

8.css立方体按钮

9.css鼠标悬填充效果

10.css鼠标悬停边框按钮

11.按钮悬停效果

12.纯css按钮动画

13.纯css动画按钮

14.纯css多彩按钮

15.垃圾桶按钮动画

16.文件压缩按钮动画

整理了16款css按钮,经过全部测试,没发现有影响使用的bug,其中也可能存在部分bug,但是应该问题不大。

代码已上传到网盘,获取源码请关注公众号【青年码农】回复【css按钮】即可。