气泡浮动背景特效 html+css

前端大杂烩 同时被 2 个专栏收录
94 篇文章 6 订阅

先看效果:

在这里插入图片描述
更长看视频

实现:

  1. 添加标签底层盒子,再直接暴力添加10个气泡标签:
 <div class="kuang">
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
    </div>
  1. 添加底层盒子样式,宽高等:
.kuang{
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -10;
            background-image: linear-gradient(180deg,rgb(78, 168, 241),rgb(37, 91, 241));

        }

position: fixed; 相对于浏览器窗口进行定位。
background-image: linear-gradient(180deg,rgb(78, 168, 241),rgb(37, 91, 241)); 渐变背景色。

  1. 添加气泡的样式:
.bubble{
            position: absolute;
            border-radius: 50%;
            border: 2px solid #fff;
            box-shadow: inset 0 0 8px  #fff;
            animation: flutter 10s infinite;
            opacity: 0;
        }

position: absolute; 绝对定位。
border-radius: 50%; 元素四个角的角度。
box-shadow: inset 0 0 8px #fff; 阴影。
animation: flutter 10s infinite; 动画,10s,重复播放。

  1. 定义动画:
 @keyframes flutter {
            0%{
                transform: translateX(0);
                bottom: -100px;
                opacity: 1;
            }
            50%{
                transform: translateX(100px);
                opacity: 0.5;
            }

            
            100%{
                transform: translateX(0px);
                bottom: 100%;
                opacity: 0;

            }
        }
   

bottom 气泡距离底部距离。
transform: translateX() 水平方向的偏移。
opacity: ; 透明度。1为不透,0为完全透明。

  1. 为每个气泡定义宽高,定位的位置等:
    如:
 .bubble:nth-child(1){
            left: -10%;
            width: 50px;
            height: 50px; 
            animation-duration: 9s;
            animation-delay: 0.1s;
        }

其它气泡设定的直接看下面的源码,这个可以自己看什么效果好自己调数值;

animation-duration: 9s; 一次动画完成需要的时间。
animation-delay: 0.1s; 动画延迟几秒后才开始播放。

完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
 
        .kuang{
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -10;
            background-image: linear-gradient(180deg,rgb(78, 168, 241),rgb(37, 91, 241));

        }
        .bubble{
            position: absolute;
            border-radius: 50%;
            border: 2px solid #fff;
            box-shadow: inset 0 0 8px  #fff;
            animation: flutter 10s infinite;
            opacity: 0;
        }
        @keyframes flutter {
            0%{
                transform: translateX(0);
                bottom: -100px;
                opacity: 1;
            }
            50%{
                transform: translateX(100px);
                opacity: 0.5;
            }

            
            100%{
                transform: translateX(0px);
                bottom: 100%;
                opacity: 0;

            }
        }
        .bubble:nth-child(1){
            left: -10%;
            width: 50px;
            height: 50px; 
            animation-duration: 9s;
            animation-delay: 0.1s;
        }
        .bubble:nth-child(2){
            left: 15%;
            width: 20px;
            height: 20px;
            animation-duration: 6s;
            animation-delay: 1.5s;

        }
        .bubble:nth-child(3){
            left: 20%;
            width: 60px;
            height: 60px;
            animation-duration: 10s;
            


        }
        .bubble:nth-child(4){
            left: 30%;
            width: 30px;
            height: 30px;
            animation-duration: 5.5s;
            animation-delay: 1.5s;

        }
        .bubble:nth-child(5){
            left: 40%x;
            width: 50px;
            height: 50px;
            animation-duration: 12s;
            


        }
        .bubble:nth-child(6){
            left: 50%;
            width: 20px;
            height: 20px;
            animation-duration: 6s;
            animation-delay: 1s;

        }
        .bubble:nth-child(7){
            left: 60%;
            width: 40px;
            height: 40px;
            animation-duration: 8s;
            animation-delay: 1s;

        }
        .bubble:nth-child(8){
            left: 65%;
            width: 60px;
            height: 60px;
            animation-duration: 15s;
          
        }
        .bubble:nth-child(9){
            left: 80%;
            width: 55px;
            height: 55px;
            animation-duration: 9s;
            animation-delay: 0.5s;
            
        }
        .bubble:nth-child(10){
            left: 100%;
            width: 40px;
            height: 40px;
            animation-duration: 12s;

        }
    </style>
</head>
<body>
    <div class="kuang">
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
        <div class="bubble"></div>
    </div>
    
</body>
</html>
 

总结:

其它文章~:
简约时钟特效 html+css+js
赛博朋克风格按钮 html+css
响应式卡片悬停效果 html+css
水波加载动画 html+css
导航栏滚动渐变效果 html+css+js
书本翻页 html+css
3D立体相册 html+css
炫彩流光按钮 html+css
记一些css属性总结(一)
Sass总结笔记
…等等

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页

打赏

北极光之夜。

谢谢~

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值