CSS实现按钮点击水波纹效果

dhso
2018/06/15 14:05
统计中

html

<button class="btn btn-default btn-lg ripple">Button Ripple</button>

<button class="btn btn-default btn-lg boom">Button Boom</button>

css

.ripple {
    position: relative;
    //隐藏溢出的径向渐变背景
    overflow: hidden;
}

.ripple:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    //设置径向渐变
    background-image: radial-gradient(circle, #666 10%, transparent 10.01%);
    background-repeat: no-repeat;
    background-position: 50%;
    transform: scale(10, 10);
    opacity: 0;
    transition: transform .3s, opacity .5s;
}

.ripple:active:after {
    transform: scale(0, 0);
    opacity: .3;
    //设置初始状态
    transition: 0s;
}

.boom {
    position: relative;
    //此处不需要设置overflow:hidden,因为after元素需要溢出显示
}
.boom:focus{
    outline: none;
}

.boom:after {
    content: "";
    display: block;
    position: absolute;
    //扩大伪类元素4个方向各10px
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    pointer-events: none;
    background-color: #333;
    background-repeat: no-repeat;
    background-position: 50%;
    opacity: 0;
    transition: all .3s;
}

.boom:active:after {
    opacity: .3;
    //设置初始状态
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: 0s;
}

效果

本文为 dhso 原创

发布在 http://blog.minws.com/cssshi-xian-an-niu-dian-ji-shui-bo-wen-xiao-guo/

如有转载,请标明来源!

作者信息
姓名:dhso
热评文章
最新评论
文章概览