js-effect-ripple
v1.2.1
Published
Material Design Ripple effect in pure JS & CSS
Downloads
475
Maintainers
Readme
js-effect-ripple
Material Design Ripple effect in pure JS & CSS
Demo
Evn
webpack + babel + scss
Install
npm
$ npm install js-effect-ripple
Usage
<style>
* {
margin: 0;
padding: 0;
-webkit-appearance:none;
}
body {
padding: 50px;
}
div {
position: relative;
}
button {
position: relative;
display: block;
width: 200px;
height: 50px;
line-height: 50px;
margin-bottom: 20px;
border: none;
outline: none;
border-radius: 2px;
overflow: hidden;
background-color: #f55;
color: #fff;
font-size: 20px;
cursor: pointer;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
user-select: none;
-webkit-tap-highlight-color: transparent;/*此处为了解决谷歌手机浏览器触摸后按钮带有一层阴影的碍事效果*/
transform: rotate(0deg); /*此处为了解决谷歌浏览器子元素使用transform元素,父元素圆角溢出无效的bug。无奈火狐依然存在*/
}
button:hover {
box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}
button:active {
box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.23);
}
#btn2 {
background-color: #fff;
color: #666;
}
#btn3 {
width: 30px;
height: 30px;
line-height: 30px;
font-size: 18px;
border-radius: 50%;
background-color: #fff;
color: #666;
overflow: visible;
}
#btn4 {
width: 56px;
height: 56px;
line-height: 56px;
border-radius: 50%;
background-color: #086;
font-size: 24px;
color: #fff;
}
</style>
<div>
<button id="btn1" type="button" name="button">submit</button>
<button id="btn2" type="button" name="button">submit</button>
<button id="btn3" type="button" name="button">+</button>
<button id="btn4" type="button" name="button">+</button>
<button id="btn5" type="button" name="button">see above</button>
</div>
<script>
import effectRipple from 'js-effect-ripple';
let btn1 = document.getElementById('btn1'),
btn2 = document.getElementById('btn2'),
btn3 = document.getElementById('btn3'),
btn4 = document.getElementById('btn4'),
btn5 = document.getElementById('btn5');
btn1.addEventListener('click', function (e) {
effectRipple(e);
});
btn2.addEventListener('click', function (e) {
effectRipple(e, {bgc: 'rgba(0, 100, 150, 0.3)'});
});
btn3.addEventListener('click', function (e) {
effectRipple(e, {type: 'center'});
});
btn4.addEventListener('click', function (e) {
effectRipple(e, {type: 'center', bgc: 'rgba(255, 255, 255, 0.4)'});
});
btn5.addEventListener('click', function (e) {
effectRipple(e, {ele: btn1, type: 'center'});
effectRipple(e, {ele: btn2, type: 'center'});
effectRipple(e, {ele: btn3, type: 'center'});
effectRipple(e, {ele: btn4, type: 'center', bgc: 'rgba(255, 255, 255, 0.3)'});
});
</script>