div+css实现水中气泡上浮动画效果代码
代码语言:html
所属分类:动画
代码描述:div+css实现水中气泡上浮动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body {
width: 100vw;
height: 100vh;
margin: 0;
padding: 0;
overflow: hidden;
background: linear-gradient(180deg, #4291d1, #021d33);
}
.bubbles {
position: absolute;
width: 120vw;
height: 100vh;
left: -10vw;
}
.bubble {
position: absolute;
top: -5vmin;
}
.bubble:nth-child(1) {
opacity: 0.57;
width: 16px;
height: 16px;
left: 80.4vw;
animation: fall-1 48s -16.5s ease-in infinite reverse;
}
.bubble:nth-child(1) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-1 {
7.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 9.3vw;
}
}
.bubble:nth-child(2) {
opacity: 0.01;
width: 6px;
height: 6px;
left: 9.7vw;
animation: fall-2 24s -19.5s ease-in infinite reverse;
}
.bubble:nth-child(2) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-2 {
4% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 92.1vw;
}
}
.bubble:nth-child(3) {
opacity: 0.18;
width: 14px;
height: 14px;
left: 104.1vw;
animation: fall-3 60s -3s ease-in infinite reverse;
}
.bubble:nth-child(3) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-3 {
1.8333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 9.6vw;
}
}
.bubble:nth-child(4) {
opacity: 0.46;
width: 8px;
height: 8px;
left: 109.8vw;
animation: fall-4 12s -28.5s ease-in infinite reverse;
}
.bubble:nth-child(4) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-4 {
6.8333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 117.3vw;
}
}
.bubble:nth-child(5) {
opacity: 0.5;
width: 14px;
height: 14px;
left: 0.4vw;
animation: fall-5 60s -24s ease-in infinite reverse;
}
.bubble:nth-child(5) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-5 {
5.1666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 20vw;
}
}
.bubble:nth-child(6) {
opacity: 0.63;
width: 18px;
height: 18px;
left: 23.8vw;
animation: fall-6 12s -31.5s ease-in infinite reverse;
}
.bubble:nth-child(6) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-6 {
5.1666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 42.5vw;
}
}
.bubble:nth-child(7) {
opacity: 0.43;
width: 16px;
height: 16px;
left: 55.8vw;
animation: fall-7 36s -30s ease-in infinite reverse;
}
.bubble:nth-child(7) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-7 {
5.5% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 7.3vw;
}
}
.bubble:nth-child(8) {
opacity: 0.6;
width: 20px;
height: 20px;
left: 12.3vw;
animation: fall-8 60s -15s ease-in infinite reverse;
}
.bubble:nth-child(8) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-8 {
1.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 53.5vw;
}
}
.bubble:nth-child(9) {
opacity: 0.06;
width: 14px;
height: 14px;
left: 31.4vw;
animation: fall-9 48s -4.5s ease-in infinite reverse;
}
.bubble:nth-child(9) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-9 {
4.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 36.5vw;
}
}
.bubble:nth-child(10) {
opacity: 0.41;
width: 14px;
height: 14px;
left: 58vw;
animation: fall-10 36s -9s ease-in infinite reverse;
}
.bubble:nth-child(10) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-10 {
7.6666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 98.6vw;
}
}
.bubble:nth-child(11) {
opacity: 0.31;
width: 16px;
height: 16px;
left: 48.7vw;
animation: fall-11 36s -18s ease-in infinite reverse;
}
.bubble:nth-child(11) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-11 {
2.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 30.9vw;
}
}
.bubble:nth-child(12) {
opacity: 0.27;
width: 12px;
height: 12px;
left: 14.8vw;
animation: fall-12 60s -33s ease-in infinite reverse;
}
.bubble:nth-child(12) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-12 {
4.6666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 97.7vw;
}
}
.bubble:nth-child(13) {
opacity: 0.43;
width: 8px;
height: 8px;
left: 61.8vw;
animation: fall-13 12s -10.5s ease-in infinite reverse;
}
.bubble:nth-child(13) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-13 {
4.5% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 59.3vw;
}
}
.bubble:nth-child(14) {
opacity: 0.24;
width: 14px;
height: 14px;
left: 105.1vw;
animation: fall-14 24s -12s ease-in infinite reverse;
}
.bubble:nth-child(14) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-14 {
4.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 92.1vw;
}
}
.bubble:nth-child(15) {
opacity: 0.57;
width: 18px;
height: 18px;
left: 2.5vw;
animation: fall-15 36s -16.5s ease-in infinite reverse;
}
.bubble:nth-child(15) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-15 {
2.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 107.1vw;
}
}
.bubble:nth-child(16) {
opacity: 0.05;
width: 16px;
height: 16px;
left: 114.4vw;
animation: fall-16 60s -31.5s ease-in infinite reverse;
}
.bubble:nth-child(16) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-16 {
4.6666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 66.5vw;
}
}
.bubble:nth-child(17) {
opacity: 0.51;
width: 20px;
height: 20px;
left: 44.9vw;
animation: fall-17 48s -18s ease-in infinite reverse;
}
.bubble:nth-child(17) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-17 {
7.1666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 57.6vw;
}
}
.bubble:nth-child(18) {
opacity: 0.75;
width: 14px;
height: 14px;
left: 43.9vw;
animation: fall-18 60s -12s ease-in infinite reverse;
}
.bubble:nth-child(18) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-18 {
0.5% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 16.7vw;
}
}
.bubble:nth-child(19) {
opacity: 0.26;
width: 14px;
height: 14px;
left: 42.4vw;
animation: fall-19 60s -9s ease-in infinite reverse;
}
.bubble:nth-child(19) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-19 {
2.1666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 97.6vw;
}
}
.bubble:nth-child(20) {
opacity: 0.51;
width: 8px;
height: 8px;
left: 37.8vw;
animation: fall-20 24s -3s ease-in infinite reverse;
}
.bubble:nth-child(20) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-20 {
7.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 114.6vw;
}
}
.bubble:nth-child(21) {
opacity: 0.21;
width: 4px;
height: 4px;
left: 40.9vw;
animation: fall-21 60s -30s ease-in infinite reverse;
}
.bubble:nth-child(21) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-21 {
8.1666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 59.1vw;
}
}
.bubble:nth-child(22) {
opacity: 0.68;
width: 20px;
height: 20px;
left: 33.2vw;
animation: fall-22 12s -16.5s ease-in infinite reverse;
}
.bubble:nth-child(22) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-22 {
3.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 52.6vw;
}
}
.bubble:nth-child(23) {
opacity: 0.88;
width: 8px;
height: 8px;
left: 76vw;
animation: fall-23 60s -16.5s ease-in infinite reverse;
}
.bubble:nth-child(23) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-23 {
4% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 55.3vw;
}
}
.bubble:nth-child(24) {
opacity: 0.25;
width: 2px;
height: 2px;
left: 105.6vw;
animation: fall-24 36s -27s ease-in infinite reverse;
}
.bubble:nth-child(24) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-24 {
5.5% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 27.4vw;
}
}
.bubble:nth-child(25) {
opacity: 0.08;
width: 8px;
height: 8px;
left: 115.7vw;
animation: fall-25 48s -13.5s ease-in infinite reverse;
}
.bubble:nth-child(25) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-25 {
0.8333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 9.2vw;
}
}
.bubble:nth-child(26) {
opacity: 0.55;
width: 18px;
height: 18px;
left: 108.5vw;
animation: fall-26 24s -4.5s ease-in infinite reverse;
}
.bubble:nth-child(26) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-26 {
3.5% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 41.1vw;
}
}
.bubble:nth-child(27) {
opacity: 0.58;
width: 14px;
height: 14px;
left: 98.5vw;
animation: fall-27 60s -3s ease-in infinite reverse;
}
.bubble:nth-child(27) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-27 {
4% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 40.3vw;
}
}
.bubble:nth-child(28) {
opacity: 0.85;
width: 18px;
height: 18px;
left: 31vw;
animation: fall-28 48s -25.5s ease-in infinite reverse;
}
.bubble:nth-child(28) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-28 {
3.1666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 94.1vw;
}
}
.bubble:nth-child(29) {
opacity: 0.44;
width: 4px;
height: 4px;
left: 65.9vw;
animation: fall-29 60s -25.5s ease-in infinite reverse;
}
.bubble:nth-child(29) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-29 {
5.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 41.4vw;
}
}
.bubble:nth-child(30) {
opacity: 0.72;
width: 10px;
height: 10px;
left: 88.9vw;
animation: fall-30 24s -16.5s ease-in infinite reverse;
}
.bubble:nth-child(30) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-30 {
2.6666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 10.5vw;
}
}
.bubble:nth-child(31) {
opacity: 0.08;
width: 4px;
height: 4px;
left: 24.4vw;
animation: fall-31 60s -28.5s ease-in infinite reverse;
}
.bubble:nth-child(31) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-31 {
3% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 107.7vw;
}
}
.bubble:nth-child(32) {
opacity: 0.45;
width: 14px;
height: 14px;
left: 3.1vw;
animation: fall-32 24s -13.5s ease-in infinite reverse;
}
.bubble:nth-child(32) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-32 {
2% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 5.1vw;
}
}
.bubble:nth-child(33) {
opacity: 0.09;
width: 6px;
height: 6px;
left: 40.3vw;
animation: fall-33 36s -31.5s ease-in infinite reverse;
}
.bubble:nth-child(33) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-33 {
6.6666666667% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 8.2vw;
}
}
.bubble:nth-child(34) {
opacity: 0.71;
width: 10px;
height: 10px;
left: 34vw;
animation: fall-34 24s -37.5s ease-in infinite reverse;
}
.bubble:nth-child(34) span {
filter: drop-shadow(0 0 2px #fff);
}
@keyframes fall-34 {
5.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 39.3vw;
}
}
.bubble:nth-child(35) {
opacity: 0.07;
width: 20px;
height: 20px;
left: 18.4vw;
animation: fall-35 36s -15s ease-in infinite reverse;
}
.bubble:nth-child(35) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-35 {
2.5% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 70.1vw;
}
}
.bubble:nth-child(36) {
opacity: 0.23;
width: 18px;
height: 18px;
left: 55vw;
animation: fall-36 36s -25.5s ease-in infinite reverse;
}
.bubble:nth-child(36) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-36 {
4% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 26.6vw;
}
}
.bubble:nth-child(37) {
opacity: 0.82;
width: 6px;
height: 6px;
left: 50vw;
animation: fall-37 24s -6s ease-in infinite reverse;
}
.bubble:nth-child(37) span {
filter: drop-shadow(0 0 1px #fff);
}
@keyframes fall-37 {
6% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 68.1vw;
}
}
.bubble:nth-child(38) {
opacity: 0.55;
width: 8px;
height: 8px;
left: 46.9vw;
animation: fall-38 48s -37.5s ease-in infinite reverse;
}
.bubble:nth-child(38) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-38 {
1.3333333333% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 75.8vw;
}
}
.bubble:nth-child(39) {
opacity: 0.63;
width: 14px;
height: 14px;
left: 66.3vw;
animation: fall-39 48s -24s ease-in infinite reverse;
}
.bubble:nth-child(39) span {
filter: drop-shadow(0 0 3px #fff);
}
@keyframes fall-39 {
0.5% {
transform: rotate(90deg) translateX(0);
}
to {
transform: rotate(90deg) translateX(calc(100vh + 5vmin));
left: 113.3vw;
}
}
.bubble:nth-child(40) {
opacity: 0.17;
width: 6px;
height: 6px;
left: 118.5vw;
animation: fall-40 60s -3s ease-in infinite reverse;
}
.bubble:nth-ch.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0