使用CSS实现按钮点击波纹效果

使用CSS实现按钮点击波纹效果有的网站会为按钮添加点击波纹效果提升网站效果,我们可以简单实现一下:主要借助::after伪类及CSS3中的transform和transition属性:html:divclass=”containertext-center”buttonclass=”btnbtn-defaultripplebtn-lg”Button/buttonbu

大家好,欢迎来到IT知识分享网。

有的网站会为按钮添加点击波纹效果提升网站效果,我们可以简单实现一下:

主要借助::after伪类及CSS3中的transform和transition属性:
html:

<div class="container text-center">
        <button class="btn btn-default ripple btn-lg">Button</button>
        <button class="btn btn-default ripple btn-lg">Button with very long content</button>
</div>
.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;
}

参考链接:https://mladenplavsic.github.io/css-ripple-effect/#
效果:
这里写图片描述

阿里的Ant Design按钮风格也可以以这个为模板来实现:

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

.ripple: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;
}

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

效果:

这里写图片描述

代码地址:https://github.com/justforuse/interesting-effect-collection/tree/master/ripple-effect

如果想在鼠标保持点击的时候显示波纹,只需要把样式对换就可以了。

示例地址: https://jsfiddle.net/justforuse/senfr16z/


Google的Material Design风格的按钮除了有波纹效果,还会根据点击位置设置波纹中心,这就需要JS来介入了,可以参考这个demo:https://codepen.io/jh3y/pen/EKGXEY

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10142.html

(0)
上一篇 2024-04-03 13:15
下一篇 2024-04-04 19:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信