生日快乐(可复制源代码)

简介: 本文展示了生日快乐动画的效果,并提供了完整的源代码供一键复制。动画包含多个气球元素,采用渐变色设计,配合动态上升效果,营造出生动欢乐的氛围。

效果演示

640 (1).gif

文末可一键复制完整代码

源代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>生日快乐</title>
    <style>
        @import url("https://fonts.googleapis.com/css2?family=Courgette&display=swap");*{box-sizing:border-box}html,body{height:100%;font-family:"Courgette",cursive}body{display:flex;justify-content:center;align-items:center;background-color:#ffffff;overflow:hidden}.baloon{height:calc(1.2 * var(--width));width:var(--width);border:2px solid black;border-radius:50% 50% 50% 50%/45% 45% 55% 55%;background-color:red;position:absolute;margin-bottom:20px;top:100%;-webkit-animation:animate 5s ease-in-out infinite;animation:animate 5s ease-in-out infinite;-webkit-animation-delay:calc(var(--animationDelay) * 0.15);animation-delay:calc(var(--animationDelay) * 0.15);z-index:1;opacity:0.75}.baloon::before,.baloon::after{content:"";position:absolute;top:0;margin:auto;border-radius:inherit;opacity:0.25}.baloon::before{border-left:calc(var(--width) * 0.15) solid #ffffff;left:4px;height:100%;width:calc(0.95 * var(--width))}.baloon::after{height:100%;width:80%;right:4px;border-right:calc(var(--width) * 0.15) solid #000000}.baloon span{display:inline-flex;position:absolute;height:calc(0.4 * var(--width));width:calc(0.04 * var(--width));top:100%;left:0;right:0;margin:auto;background-image:inherit;z-index:-1;border-radius:20px;border:2px solid black}.baloon span::before,.baloon span::after{content:"";position:absolute;top:0;left:50%;transform:translatex(-50%);border-radius:4px;background-image:inherit;margin:auto;width:calc(0.1 * var(--width));height:calc(0.12 * var(--width));border-radius:500px;border:2px solid black}.baloon span::after{top:calc(0.14 * var(--width));width:calc(0.08 * var(--width));height:calc(0.02 * var(--width))}.wishes{font-size:4rem;color:#242423}@-webkit-keyframes animate{from{top:100%}to{top:-55%}}@keyframes animate{from{top:100%}to{top:-55%}}
    </style>
</head>
<body>
    <div class="baloon"
        style="--width:187px;--animationDelay:-1s;left:80%;background-image:linear-gradient(45deg,#E85D04,#FFBA08);">
        <span></span></div>
    <div class="baloon"
        style="--width:113px;--animationDelay:1s;left:99%;background-image:linear-gradient(45deg,#ff3da4,#FB5607);">
        <span></span></div>
    <div class="baloon"
        style="--width:164px;--animationDelay:2s;left:60%;background-image:linear-gradient(45deg,#f15156,#3A86FF);">
        <span></span></div>
    <div class="baloon"
        style="--width:110px;--animationDelay:3s;left:54%;background-image:linear-gradient(45deg,#FFBE0B,#f15156);">
        <span></span></div>
    <div class="baloon"
        style="--width:117px;--animationDelay:4s;left:63%;background-image:linear-gradient(45deg,#FF006E,#00a1de);">
        <span></span></div>
    <div class="baloon"
        style="--width:188px;--animationDelay:8s;left:60%;background-image:linear-gradient(45deg,#DC2F02,#ff3da4);">
        <span></span></div>
    <div class="baloon"
        style="--width:113px;--animationDelay:10s;left:82%;background-image:linear-gradient(45deg,#FFBE0B,#FB5607);">
        <span></span></div>
    <div class="baloon"
        style="--width:104px;--animationDelay:9s;left:80%;background-image:linear-gradient(45deg,#E85D04,#FFBA08);">
        <span></span></div>
    <div class="baloon"
        style="--width:143px;--animationDelay:14s;left:1%;background-image:linear-gradient(45deg,#f15156,#3A86FF);">
        <span></span></div>
    <div class="baloon"
        style="--width:102px;--animationDelay:14s;left:12%;background-image:linear-gradient(45deg,#DC2F02,#FB5607);">
        <span></span></div>
    <div class="baloon"
        style="--width:109px;--animationDelay:11s;left:78%;background-image:linear-gradient(45deg,#FFBA08,#3A86FF);">
        <span></span></div>
    <div class="baloon"
        style="--width:162px;--animationDelay:11s;left:71%;background-image:linear-gradient(45deg,#8338EC,#00a1de);">
        <span></span></div>
    <div class="baloon"
        style="--width:178px;--animationDelay:16s;left:25%;background-image:linear-gradient(45deg,#FF006E,#f15156);">
        <span></span></div>
    <div class="baloon"
        style="--width:116px;--animationDelay:13s;left:72%;background-image:linear-gradient(45deg,#ff3da4,#DC2F02);">
        <span></span></div>
    <div class="baloon"
        style="--width:162px;--animationDelay:22s;left:1%;background-image:linear-gradient(45deg,#E85D04,#FFBA08);">
        <span></span></div>
    <div class="baloon"
        style="--width:122px;--animationDelay:27s;left:72%;background-image:linear-gradient(45deg,#00a1de,#FB5607);">
        <span></span></div>
    <div class="baloon"
        style="--width:123px;--animationDelay:19s;left:84%;background-image:linear-gradient(45deg,#d177ff,#00a1de);">
        <span></span></div>
    <div class="baloon"
        style="--width:188px;--animationDelay:22s;left:93%;background-image:linear-gradient(45deg,#DC2F02,#FB5607);">
        <span></span></div>
    <div class="baloon"
        style="--width:135px;--animationDelay:30s;left:29%;background-image:linear-gradient(45deg,#d177ff,#FF006E);">
        <span></span></div>
    <div class="baloon"
        style="--width:135px;--animationDelay:24s;left:27%;background-image:linear-gradient(45deg,#DC2F02,#FB5607);">
        <span></span></div>
    <div class="baloon"
        style="--width:112px;--animationDelay:22s;left:59%;background-image:linear-gradient(45deg,#3A86FF,#FF006E);">
        <span></span></div>
    <div class="baloon"
        style="--width:167px;--animationDelay:29s;left:3%;background-image:linear-gradient(45deg,#FF006E,#3A86FF);">
        <span></span></div>
    <div class="baloon"
        style="--width:111px;--animationDelay:26s;left:74%;background-image:linear-gradient(45deg,#00a1de,#FFBE0B);">
        <span></span></div>
    <div class="baloon"
        style="--width:126px;--animationDelay:43s;left:11%;background-image:linear-gradient(45deg,#ff3da4,#FFBA08);">
        <span></span></div>
    <div class="baloon"
        style="--width:177px;--animationDelay:35s;left:23%;background-image:linear-gradient(45deg,#DC2F02,#d177ff);">
        <span></span></div>
    <div class="baloon"
        style="--width:124px;--animationDelay:44s;left:61%;background-image:linear-gradient(45deg,#f15156,#FB5607);">
        <span></span></div>
    <div class="baloon"
        style="--width:132px;--animationDelay:36s;left:2%;background-image:linear-gradient(45deg,#FF006E,#3A86FF);">
        <span></span></div>
    <div class="baloon"
        style="--width:139px;--animationDelay:48s;left:39%;background-image:linear-gradient(45deg,#3A86FF,#FFBA08);">
        <span></span></div>
    <div class="baloon"
        style="--width:143px;--animationDelay:50s;left:91%;background-image:linear-gradient(45deg,#8338EC,#ff3da4);">
        <span></span></div>
    <div class="baloon"
        style="--width:123px;--animationDelay:39s;left:90%;background-image:linear-gradient(45deg,#f15156,#3A86FF);">
        <span></span></div>
    <div class="baloon"
        style="--width:154px;--animationDelay:56s;left:44%;background-image:linear-gradient(45deg,#8338EC,#00a1de);">
        <span></span></div>
    <div class="baloon"
        style="--width:157px;--animationDelay:47s;left:85%;background-image:linear-gradient(45deg,#f15156,#FFBA08);">
        <span></span></div>
    <div class="baloon"
        style="--width:125px;--animationDelay:51s;left:47%;background-image:linear-gradient(45deg,#FFBE0B,#00a1de);">
        <span></span></div>
    <div class="baloon"
        style="--width:102px;--animationDelay:60s;left:17%;background-image:linear-gradient(45deg,#FF006E,#ff3da4);">
        <span></span></div>
    <div class="baloon"
        style="--width:170px;--animationDelay:62s;left:36%;background-image:linear-gradient(45deg,#FFBE0B,#8338EC);">
        <span></span></div>
    <div class="baloon"
        style="--width:159px;--animationDelay:53s;left:12%;background-image:linear-gradient(45deg,#FFBE0B,#ff3da4);">
        <span></span></div>
    <div class="baloon"
        style="--width:123px;--animationDelay:62s;left:59%;background-image:linear-gradient(45deg,#E85D04,#FFBE0B);">
        <span></span></div>
    <div class="baloon"
        style="--width:146px;--animationDelay:51s;left:49%;background-image:linear-gradient(45deg,#FB5607,#FF006E);">
        <span></span></div>
    <div class="baloon"
        style="--width:126px;--animationDelay:63s;left:65%;background-image:linear-gradient(45deg,#3A86FF,#f15156);">
        <span></span></div>
    <div class="baloon"
        style="--width:150px;--animationDelay:39s;left:1%;background-image:linear-gradient(45deg,#FF006E,#FF006E);">
        <span></span></div>
    <div class="baloon"
        style="--width:134px;--animationDelay:73s;left:97%;background-image:linear-gradient(45deg,#00a1de,#FFBA08);">
        <span></span></div>
    <div class="baloon"
        style="--width:136px;--animationDelay:43s;left:30%;background-image:linear-gradient(45deg,#FB5607,#FF006E);">
        <span></span></div>
    <div class="baloon"
        style="--width:155px;--animationDelay:74s;left:55%;background-image:linear-gradient(45deg,#FF006E,#d177ff);">
        <span></span></div>
    <div class="baloon"
        style="--width:153px;--animationDelay:69s;left:92%;background-image:linear-gradient(45deg,#FB5607,#DC2F02);">
        <span></span></div>
    <div class="baloon"
        style="--width:146px;--animationDelay:58s;left:67%;background-image:linear-gradient(45deg,#f15156,#00a1de);">
        <span></span></div>
    <div class="baloon"
        style="--width:172px;--animationDelay:72s;left:44%;background-image:linear-gradient(45deg,#f15156,#DC2F02);">
        <span></span></div>
    <div class="baloon"
        style="--width:156px;--animationDelay:69s;left:22%;background-image:linear-gradient(45deg,#d177ff,#DC2F02);">
        <span></span></div>
    <div class="baloon"
        style="--width:127px;--animationDelay:91s;left:3%;background-image:linear-gradient(45deg,#3A86FF,#FFBE0B);">
        <span></span></div>
    <div class="baloon"
        style="--width:101px;--animationDelay:94s;left:32%;background-image:linear-gradient(45deg,#d177ff,#3A86FF);">
        <span></span></div>
    <div class="baloon"
        style="--width:123px;--animationDelay:95s;left:85%;background-image:linear-gradient(45deg,#3A86FF,#E85D04);">
        <span></span></div>
    <div class="wishes">Happy Birthday</div>
</body>
</html>


更多效果预览和完整代码一键复制 👇🏻


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>生日快乐</title>
    <style>
        @import url("https://fonts.googleapis.com/css2?family=Courgette&display=swap");

        * {
            box-sizing: border-box
        }

        html, body {
            height: 100%;
            font-family: "Courgette", cursive
        }

        body {
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #ffffff;
            overflow: hidden
        }

        .baloon {
            height: calc(1.2 * var(--width));
            width: var(--width);
            border: 2px solid black;
            border-radius: 50% 50% 50% 50%/45% 45% 55% 55%;
            background-color: red;
            position: absolute;
            margin-bottom: 20px;
            top: 100%;
            -webkit-animation: animate 5s ease-in-out infinite;
            animation: animate 5s ease-in-out infinite;
            -webkit-animation-delay: calc(var(--animationDelay) * 0.15);
            animation-delay: calc(var(--animationDelay) * 0.15);
            z-index: 1;
            opacity: 0.75
        }

        .baloon::before, .baloon::after {
            content: "";
            position: absolute;
            top: 0;
            margin: auto;
            border-radius: inherit;
            opacity: 0.25
        }

        .baloon::before {
            border-left: calc(var(--width) * 0.15) solid #ffffff;
            left: 4px;
            height: 100%;
            width: calc(0.95 * var(--width))
        }

        .baloon::after {
            height: 100%;
            width: 80%;
            right: 4px;
            border-right: calc(var(--width) * 0.15) solid #000000
        }

        .baloon span {
            display: inline-flex;
            position: absolute;
            height: calc(0.4 * var(--width));
            width: calc(0.04 * var(--width));
            top: 100%;
            left: 0;
            right: 0;
            margin: auto;
            background-image: inherit;
            z-index: -1;
            border-radius: 20px;
            border: 2px solid black
        }

        .baloon span::before, .baloon span::after {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            transform: translatex(-50%);
            border-radius: 4px;
            background-image: inherit;
            margin: auto;
            width: calc(0.1 * var(--width));
            height: calc(0.12 * var(--width));
            border-radius: 500px;
            border: 2px solid black
        }

        .baloon span::after {
            top: calc(0.14 * var(--width));
            width: calc(0.08 * var(--width));
            height: calc(0.02 * var(--width))
        }

        .wishes {
            font-size: 4rem;
            color: #242423
        }

        @-webkit-keyframes animate {
            from {
                top: 100%
            }
            to {
                top: -55%
            }
        }

        @keyframes animate {
            from {
                top: 100%
            }
            to {
                top: -55%
            }
        }
    </style>
</head>

<body>
<div class="baloon"
     style="--width:187px;--animationDelay:-1s;left:80%;background-image:linear-gradient(45deg,#E85D04,#FFBA08);">
    <span></span></div>
<div class="baloon"
     style="--width:113px;--animationDelay:1s;left:99%;background-image:linear-gradient(45deg,#ff3da4,#FB5607);">
    <span></span></div>
<div class="baloon"
     style="--width:164px;--animationDelay:2s;left:60%;background-image:linear-gradient(45deg,#f15156,#3A86FF);">
    <span></span></div>
<div class="baloon"
     style="--width:110px;--animationDelay:3s;left:54%;background-image:linear-gradient(45deg,#FFBE0B,#f15156);">
    <span></span></div>
<div class="baloon"
     style="--width:117px;--animationDelay:4s;left:63%;background-image:linear-gradient(45deg,#FF006E,#00a1de);">
    <span></span></div>
<div class="baloon"
     style="--width:188px;--animationDelay:8s;left:60%;background-image:linear-gradient(45deg,#DC2F02,#ff3da4);">
    <span></span></div>
<div class="baloon"
     style="--width:113px;--animationDelay:10s;left:82%;background-image:linear-gradient(45deg,#FFBE0B,#FB5607);">
    <span></span></div>
<div class="baloon"
     style="--width:104px;--animationDelay:9s;left:80%;background-image:linear-gradient(45deg,#E85D04,#FFBA08);">
    <span></span></div>
<div class="baloon"
     style="--width:143px;--animationDelay:14s;left:1%;background-image:linear-gradient(45deg,#f15156,#3A86FF);">
    <span></span></div>
<div class="baloon"
     style="--width:102px;--animationDelay:14s;left:12%;background-image:linear-gradient(45deg,#DC2F02,#FB5607);">
    <span></span></div>
<div class="baloon"
     style="--width:109px;--animationDelay:11s;left:78%;background-image:linear-gradient(45deg,#FFBA08,#3A86FF);">
    <span></span></div>
<div class="baloon"
     style="--width:162px;--animationDelay:11s;left:71%;background-image:linear-gradient(45deg,#8338EC,#00a1de);">
    <span></span></div>
<div class="baloon"
     style="--width:178px;--animationDelay:16s;left:25%;background-image:linear-gradient(45deg,#FF006E,#f15156);">
    <span></span></div>
<div class="baloon"
     style="--width:116px;--animationDelay:13s;left:72%;background-image:linear-gradient(45deg,#ff3da4,#DC2F02);">
    <span></span></div>
<div class="baloon"
     style="--width:162px;--animationDelay:22s;left:1%;background-image:linear-gradient(45deg,#E85D04,#FFBA08);">
    <span></span></div>
<div class="baloon"
     style="--width:122px;--animationDelay:27s;left:72%;background-image:linear-gradient(45deg,#00a1de,#FB5607);">
    <span></span></div>
<div class="baloon"
     style="--width:123px;--animationDelay:19s;left:84%;background-image:linear-gradient(45deg,#d177ff,#00a1de);">
    <span></span></div>
<div class="baloon"
     style="--width:188px;--animationDelay:22s;left:93%;background-image:linear-gradient(45deg,#DC2F02,#FB5607);">
    <span></span></div>
<div class="baloon"
     style="--width:135px;--animationDelay:30s;left:29%;background-image:linear-gradient(45deg,#d177ff,#FF006E);">
    <span></span></div>
<div class="baloon"
     style="--width:135px;--animationDelay:24s;left:27%;background-image:linear-gradient(45deg,#DC2F02,#FB5607);">
    <span></span></div>
<div class="baloon"
     style="--width:112px;--animationDelay:22s;left:59%;background-image:linear-gradient(45deg,#3A86FF,#FF006E);">
    <span></span></div>
<div class="baloon"
     style="--width:167px;--animationDelay:29s;left:3%;background-image:linear-gradient(45deg,#FF006E,#3A86FF);">
    <span></span></div>
<div class="baloon"
     style="--width:111px;--animationDelay:26s;left:74%;background-image:linear-gradient(45deg,#00a1de,#FFBE0B);">
    <span></span></div>
<div class="baloon"
     style="--width:126px;--animationDelay:43s;left:11%;background-image:linear-gradient(45deg,#ff3da4,#FFBA08);">
    <span></span></div>
<div class="baloon"
     style="--width:177px;--animationDelay:35s;left:23%;background-image:linear-gradient(45deg,#DC2F02,#d177ff);">
    <span></span></div>
<div class="baloon"
     style="--width:124px;--animationDelay:44s;left:61%;background-image:linear-gradient(45deg,#f15156,#FB5607);">
    <span></span></div>
<div class="baloon"
     style="--width:132px;--animationDelay:36s;left:2%;background-image:linear-gradient(45deg,#FF006E,#3A86FF);">
    <span></span></div>
<div class="baloon"
     style="--width:139px;--animationDelay:48s;left:39%;background-image:linear-gradient(45deg,#3A86FF,#FFBA08);">
    <span></span></div>
<div class="baloon"
     style="--width:143px;--animationDelay:50s;left:91%;background-image:linear-gradient(45deg,#8338EC,#ff3da4);">
    <span></span></div>
<div class="baloon"
     style="--width:123px;--animationDelay:39s;left:90%;background-image:linear-gradient(45deg,#f15156,#3A86FF);">
    <span></span></div>
<div class="baloon"
     style="--width:154px;--animationDelay:56s;left:44%;background-image:linear-gradient(45deg,#8338EC,#00a1de);">
    <span></span></div>
<div class="baloon"
     style="--width:157px;--animationDelay:47s;left:85%;background-image:linear-gradient(45deg,#f15156,#FFBA08);">
    <span></span></div>
<div class="baloon"
     style="--width:125px;--animationDelay:51s;left:47%;background-image:linear-gradient(45deg,#FFBE0B,#00a1de);">
    <span></span></div>
<div class="baloon"
     style="--width:102px;--animationDelay:60s;left:17%;background-image:linear-gradient(45deg,#FF006E,#ff3da4);">
    <span></span></div>
<div class="baloon"
     style="--width:170px;--animationDelay:62s;left:36%;background-image:linear-gradient(45deg,#FFBE0B,#8338EC);">
    <span></span></div>
<div class="baloon"
     style="--width:159px;--animationDelay:53s;left:12%;background-image:linear-gradient(45deg,#FFBE0B,#ff3da4);">
    <span></span></div>
<div class="baloon"
     style="--width:123px;--animationDelay:62s;left:59%;background-image:linear-gradient(45deg,#E85D04,#FFBE0B);">
    <span></span></div>
<div class="baloon"
     style="--width:146px;--animationDelay:51s;left:49%;background-image:linear-gradient(45deg,#FB5607,#FF006E);">
    <span></span></div>
<div class="baloon"
     style="--width:126px;--animationDelay:63s;left:65%;background-image:linear-gradient(45deg,#3A86FF,#f15156);">
    <span></span></div>
<div class="baloon"
     style="--width:150px;--animationDelay:39s;left:1%;background-image:linear-gradient(45deg,#FF006E,#FF006E);">
    <span></span></div>
<div class="baloon"
     style="--width:134px;--animationDelay:73s;left:97%;background-image:linear-gradient(45deg,#00a1de,#FFBA08);">
    <span></span></div>
<div class="baloon"
     style="--width:136px;--animationDelay:43s;left:30%;background-image:linear-gradient(45deg,#FB5607,#FF006E);">
    <span></span></div>
<div class="baloon"
     style="--width:155px;--animationDelay:74s;left:55%;background-image:linear-gradient(45deg,#FF006E,#d177ff);">
    <span></span></div>
<div class="baloon"
     style="--width:153px;--animationDelay:69s;left:92%;background-image:linear-gradient(45deg,#FB5607,#DC2F02);">
    <span></span></div>
<div class="baloon"
     style="--width:146px;--animationDelay:58s;left:67%;background-image:linear-gradient(45deg,#f15156,#00a1de);">
    <span></span></div>
<div class="baloon"
     style="--width:172px;--animationDelay:72s;left:44%;background-image:linear-gradient(45deg,#f15156,#DC2F02);">
    <span></span></div>
<div class="baloon"
     style="--width:156px;--animationDelay:69s;left:22%;background-image:linear-gradient(45deg,#d177ff,#DC2F02);">
    <span></span></div>
<div class="baloon"
     style="--width:127px;--animationDelay:91s;left:3%;background-image:linear-gradient(45deg,#3A86FF,#FFBE0B);">
    <span></span></div>
<div class="baloon"
     style="--width:101px;--animationDelay:94s;left:32%;background-image:linear-gradient(45deg,#d177ff,#3A86FF);">
    <span></span></div>
<div class="baloon"
     style="--width:123px;--animationDelay:95s;left:85%;background-image:linear-gradient(45deg,#3A86FF,#E85D04);">
    <span></span></div>
<div class="wishes">Happy Birthday</div>
</body>

</html>


更多效果预览和完整代码一键复制 👇🏻

相关文章
|
5月前
百度文库的内容怎么复制
百度文库的内容怎么复制
61 0
|
程序员
程序员的自我修养—链接、装载与库--书签目录PDF
程序员的自我修养—链接、装载与库--书签目录PDF
1185 0
|
5天前
|
前端开发 JavaScript 容器
霓虹灯数字时钟(可复制源代码)
本文展示了如何创建一个具有3D效果的霓虹灯数字时钟。通过HTML、CSS和JavaScript实现了一个动态更新时间的时钟,其中包含了字体定义、3D变换、过渡效果以及颜色动画等关键部分。最后提供了完整的代码供读者复制使用。
霓虹灯数字时钟(可复制源代码)
|
5月前
|
文字识别 NoSQL 物联网
分享55个C源码源代码总有一个是你想要的
分享55个C源码源代码总有一个是你想要的
67 1
|
5月前
|
数据采集 自然语言处理 监控
分享53个杂七杂八的Python源代码总有一个是你想要的
分享53个杂七杂八的Python源代码总有一个是你想要的
64 1
|
5月前
|
Java 开发者 Windows
🎉告别抓狂!Smart Input自动切换输入法来啦🚀
🎉告别抓狂!Smart Input自动切换输入法来啦🚀
374 0
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
分享261个Python源码源代码总有一个是你想要的
分享261个Python源码源代码总有一个是你想要的
351 0
|
程序员 C语言
爱心代码--C语言特供(可直接复制,亲测有效)
爱心代码--C语言特供(可直接复制,亲测有效)
18562 0