html,body {
width:100%;
height:100%;
display:flex;
background:#000;
overflow:hidden;
}
.g-number {
position:absolute;
width:300px;
top:27%;
text-align:center;
font-size:32px;
z-index:10;
color:#fff;
}
.g-container {
position:relative;
width:300px;
height:400px;
margin:auto;
}
.g-contrast {
filter:contrast(15) hue-rotate(0);
width:300px;
height:400px;
background-color:#000;
overflow:hidden;
animation:hueRotate 10s infinite linear;
}
.g-circle {
position:relative;
width:300px;
height:300px;
box-sizing:border-box;
filter:blur(8px);
}
.g-circle::after {
content:"";
position:absolute;
top:40%;
left:50%;
transform:translate(-50%,-50%) rotate(0);
width:200px;
height:200px;
background-color:#00ff6f;
border-radius:42% 38% 62% 49%/45%;
animation:rotate 10s infinite linear;
}
.g-circle::before {
content:"";
position:absolute;
width:176px;
height:176px;
top:40%;
left:50%;
transform:translate(-50%,-50%);
border-radius:50%;
background-color:#000;
z-index:10;
}
.g-bubbles {
position:absolute;
left:50%;
bottom:0;
width:100px;
height:40px;
transform:translate(-50%,0);
border-radius:100px 100px 0 0;
background-color:#00ff6f;
filter:blur(5px);
}
li {
position:absolute;
border-radius:50%;
background:#00ff6f;
}
li:nth-child(0) {
left:44px;
top:50%;
transform:translate(-50%,-50%);
width:28px;
height:28px;
animation:moveToTop 6s ease-in-out -4.605s infinite;
}
li:nth-child(1) {
left:81px;
top:50%;
transform:translate(-50%,-50%);
width:24px;
height:24px;
animation:moveToTop 7s ease-in-out -3.177s infinite;
}
li:nth-child(2) {
left:57px;
top:50%;
transform:translate(-50%,-50%);
width:17px;
height:17px;
animation:moveToTop 5s ease-in-out -0.734s infinite;
}
li:nth-child(3) {
left:85px;
top:50%;
transform:translate(-50%,-50%);
width:16px;
height:16px;
animation:moveToTop 7s ease-in-out -0.508s infinite;
}
li:nth-child(4) {
left:79px;
top:50%;
transform:translate(-50%,-50%);
width:28px;
height:28px;
animation:moveToTop 7s ease-in-out -2.352s infinite;
}
li:nth-child(5) {
left:70px;
top:50%;
transform:translate(-50%,-50%);
width:21px;
height:21px;
animation:moveToTop 6s ease-in-out -1.219s infinite;
}
li:nth-child(6) {
left:58px;
top:50%;
transform:translate(-50%,-50%);
width:25px;
height:25px;
animation:moveToTop 6s ease-in-out -1.061s infinite;
}
li:nth-child(7) {
left:38px;
top:50%;
transform:translate(-50%,-50%);
width:28px;
height:28px;
animation:moveToTop 6s ease-in-out -1.943s infinite;
}
li:nth-child(8) {
left:50px;
top:50%;
transform:translate(-50%,-50%);
width:23px;
height:23px;
animation:moveToTop 7s ease-in-out -2.766s infinite;
}
li:nth-child(9) {
left:30px;
top:50%;
transform:translate(-50%,-50%);
width:18px;
height:18px;
animation:moveToTop 9s ease-in-out -1.567s infinite;
}
li:nth-child(10) {
left:82px;
top:50%;
transform:translate(-50%,-50%);
width:29px;
height:29px;
animation:moveToTop 6s ease-in-out -0.412s infinite;
}
li:nth-child(11) {
left:41px;
top:50%;
transform:translate(-50%,-50%);
width:28px;
height:28px;
animation:moveToTop 8s ease-in-out -4.538s infinite;
}
li:nth-child(12) {
left:54px;
top:50%;
transform:translate(-50%,-50%);
width:22px;
height:22px;
animation:moveToTop 7s ease-in-out -0.882s infinite;
}
li:nth-child(13) {
left:43px;
top:50%;
transform:translate(-50%,-50%);
width:25px;
height:25px;
animation:moveToTop 4s ease-in-out -3.176s infinite;
}
li:nth-child(14) {
left:24px;
top:50%;
transform:translate(-50%,-50%);
width:17px;
height:17px;
animation:moveToTop 7s ease-in-out -0.26s infinite;
}
li:nth-child(15) {
left:43px;
top:50%;
transform:translate(-50%,-50%);
width:30px;
height:30px;
animation:moveToTop 6s ease-in-out -3.362s infinite;
}
@keyframes rotate {
50% {
border-radius:45%/42% 38% 58% 49%;
}
100% {
transform:translate(-50%,-50%) rotate(720deg);
}
}@keyframes moveToTop {
90% {
opacity:1;
}
100% {
opacity:0.1;
transform:translate(-50%,-180px);
}
}@keyframes hueRotate {
100% {
filter:contrast(15) hue-rotate(360deg);
}
}更新时间:2019-12-30 09:04:47
css 滤镜用法有:
使用 filter: blur() 生成毛玻璃效果使用 filter: -shadow() 生成整体阴影效果使用 filter: opacity() 生成透明度