html5 +css3 点击后水波纹扩散效果 兼容移动端
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html;charset=utf-8"/>
<meta name="viewport"
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>html5+ js +css3 点击后水波纹扩散效果 兼容移动端-幸凡学习网</title>
<style> body {
margin: 0;
padding: 0;
} .center {
text-align: center
} .btn {
position: relative;
width: 13em;
height: 3em;
margin: 2em;
border: none;
outline: none;
letter-spacing: .2em;
font-weight: bold;
background: #999;
cursor: pointer;
overflow: hidden;
user-select: none;
border-radius: 2px;
color: #fff;
} button:nth-child(2) {
background: #4285f4;
} button:nth-child(3) {
background: #00bad2;
} button:nth-child(4) {
background: #ff8a80;
} button:nth-child(5) {
background: #ffae00;
} button:nth-child(6) {
background: #aec156;
} button:nth-child(7) {
background: #a060a8;
} button:nth-child(8) {
background: #a78660;
} button:nth-child(9) {
background: #5da065;
} button:nth-child(10) {
background: #5e6b9a;
} button:nth-child(11) {
background: #9a5e5e;
} button:nth-child(12) {
background: #666;
} .ripple {
position: absolute;
background: rgba(0, 0, 0, .15);
border-radius: 100%;
transform: scale(0);
pointer-events: none;
} .ripple.show {
animation: ripple .75s ease-out;
} @keyframes ripple {
to {
transform: scale(2);
opacity: 0;
}
} </style>
</head>
<body><h1
class="center">html5 +css3 点击后水波纹扩散效果 兼容移动端</h1>
<div class="main
center">
<button class="btn">BUTTON</button>
<button
class="btn">BUTTON
</button>
<button class="btn">BUTTON</button>
<button
class="btn">BUTTON
</button>
<button class="btn">BUTTON</button>
<button
class="btn">BUTTON
</button>
<button class="btn">BUTTON</button>
<button
class="btn">BUTTON
</button>
<button class="btn">BUTTON</button>
<button
class="btn">BUTTON
</button>
<button class="btn">BUTTON</button>
<button
class="btn">BUTTON
</button>
</div>
<script>
var addRippleEffect =
function (e) {
var target = e.target;
if (target.className.toLowerCase()
!== 'btn') {
return false;
}
var rect = target.getBoundingClientRect();
var
ripple = target.querySelector('.ripple');
if (!ripple) {
ripple =
document.createElement('span');
ripple.className = 'ripple'
ripple.style.height = ripple.style.width = Math.max(rect.width,
rect.height) + 'px'
target.appendChild(ripple);
}
ripple.classList.remove('show');
var top = e.pageY - rect.top -
ripple.offsetHeight / 2 - document.body.scrollTop;
var left = e.pageX -
rect.left - ripple.offsetWidth / 2 - document.body.scrollLeft;
ripple.style.top = top + 'px'
ripple.style.left = left + 'px'
ripple.classList.add('show');
return false;
}
document.addEventListener('click', addRippleEffect, false); </script>
</body>
</html>
html5 +css3 点击后水波纹扩散效果 兼容移动端的更多相关文章
- 如何使用 HTML5 Canvas 制作水波纹效果
今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javasc ...
- 很实用的HTML5+CSS3注册登录窗体切换效果
1. [代码]3个很实用的HTML5+CSS3注册登录窗体切换效果 <!DOCTYPE html><!--[if lt IE 7 ]> <html lang=" ...
- 用HTML5 Canvas 做擦除及扩散效果
2013年的时候曾经使用canvas实现了一个擦除效果的需求,即模拟用户在模糊的玻璃上擦除水雾看到清晰景色的交互效果.好在2012年的时候学习HTML5的时候研究过canvas了,所以在比较短的时间内 ...
- javascript+html5+css3下拉刷新 数据效果
文章摘自:suchso.com/projecteactual/javascript-html5-css3-taobao-xiala-data.html segmentfault.com/a/11900 ...
- UWP:使用Composition实现类似安卓的水波纹Ripple效果
先放效果图: 首先,建立一个RippleHelper.cs文件,然后建立以下附加属性: IsFillEnable:是否扩大到整个控件 RippleDuration:持续时间 RippleRadius: ...
- css3动画水波纹、波浪
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- HTML5/CSS3实现添加锁屏效果
锁屏效果,也就是将屏幕置于模态,不允许用户触发任何动作,只能解除锁定后才能继续使用,jQueryUI的dialog有模态对话框,这一点不难做到.那么,首先需要在页面中添加一个div层,用于做模态的层 ...
- Android 水波纹点击效果(Ripple Effect)
上周Android发布了Android M的Preview版本.但想必Android5.0很多炫酷效果,多数开发者还没有使用过,那更不要说广大用户了. 本文介绍的是Android5.0中其中一个炫酷的 ...
- Android水波纹特效的简单实现
我的开源页面指示器框架 MagicIndicator,各位一定不要错过哦. 水波纹特效,想必大家或多或少见过,在我的印象中,大致有如下几种: 支付宝 "咻咻咻" 式 流量球 &qu ...
随机推荐
- 啊啊啊 草蛋啊 之前努力一天搞出来的时间算法 被一句pk掉 给我砖头
package yun3; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Cale ...
- p4 : a problem about "./behavioral-model"
当sudo ./behavioral-moel时候会发生这个 这个时候记得要先在 p4factory目录下先执行一下这个 sudo ./tools/veth_setuo.sh 再去执行sudo ./b ...
- 简单实现wc.exe软件基本功能
简单实现wc.exe软件基本功能 软件需求分析: 一.基本功能 支持 -c 统计字符数(char count) 支持 -w 统计单词数(word count) 支持 -l 统计总行数(line ...
- 13_Java面向对象_第13天(static、final、匿名对象、内部类、包、修饰符、代码块)_讲义
今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 01final关键字概念 A: 概述 继承的出现提高了代码的复 ...
- angularJS1笔记-(11)-自定义指令(transclude/priority/terminal)
自定义指令的属性 transclude:为true时,允许把html中新定义的指令中原来的dom运用到该指令的template中. 属性priority,设置该指令的优先级,优先级大的先执行,默认指令 ...
- Enterprise Library 3.1 参考源码索引
http://www.projky.com/entlib/3.1/Microsoft/Practices/EnterpriseLibrary/AppSettings/Configuration/Des ...
- js 对象的合并(3种方法)转载
对象的合并 需求:设有对象 o1 ,o2,需要得到对象 o3 var o1 = { a:'a' }, o2 = { b:'b' }; // 则 var o3 = { a:'a', b:'b' } 方法 ...
- grep文本处理工具
grep是一款文本过滤工具,基于正则表达式进行模式匹配sed:stream editor 流编辑器awk:linux上实现为gawk,文本报告生成器(格式化文本)文本搜索工具,根据用户指定的模式,对目 ...
- [BUAA2017软工]个人作业week-1
一.快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上. 1.在第二章个人技术和流程,邹欣老师提到了一张表格,主要解释了效能分析的一些名词,其中有这么几个概念: 调用者:函数Foo ...
- paperOne基于java web的简易四则运算出题网站
项目成员:张金生 张政 需求概要 1.运算数均为正整数 2.包含的运算符有+,-,*,/ 3.除法运算结果为整除运算 4.批量生成题目并判题 核心功能分析 1.题目生成——java后端 题目生 ...