《CSS实战案例汇总》涟漪

涟漪

实现效果

HTML代码

CSS代码


实现效果

《CSS实战案例汇总》涟漪

 

HTML代码

<!DOCTYPE html>
<head>
    <link rel="stylesheet" href="demo.css">
</head>
<body>
    <div class="ripple-bg">
        <div class="ripple1"></div>
        <div class="ripple2"></div>
        <div class="ripple3"></div>
    </div>
</body>
</html>

1. ripple-bg为波纹的中心点,该div元素不进行任何动画。

2. 这里用了三个div元素来实现多层涟漪的效果。

 

CSS代码

.ripple-bg {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: rgb(0, 195, 255);

    margin: 300px auto;
}

/* 共有样式 */
.ripple1, .ripple2, .ripple3{
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: rgb(0, 195, 255);
}

/* 单独样式 */
/* 设置位置以及动画延迟 */
.ripple1 {
    animation: ripple-anim 3s ease-out 0s infinite;
}

.ripple2 {
    position: relative;
    top: -80px;

    animation: ripple-anim 3s ease-out 1s infinite;
}

.ripple3 {
    position: relative;
    top: -160px;

    animation: ripple-anim 3s ease-out 2s infinite;
}

/* 动画效果 */
@keyframes ripple-anim {
    0% {
        transform: scale(0.5, 0.5);
        opacity: 1;
    }
    30% {
        opacity: 1;
    }
    100% {
        transform: scale(2, 2);
        opacity: 0;
    }
}

1. 类名为ripple1、ripple2和ripple3的div元素颜色应和父类元素相同;位置设置为relative,相对于父类元素进行调整,将三层涟漪的中心点与父类元素重合。

2. 为实现多层涟漪效果,ripple1、ripple2和ripple3的动画开始时间应不同,所以要设置延迟。

3. 在动画中,涟漪由小变大,在进行到100%时,要将透明度设置为0,涟漪消失。

上一篇:Carson带你学Android:手把手带你全面学习补间动画的使用!


下一篇:一手遮天 Android - view(集合类): ViewFlipper 基础