• 首页
  • 说说
  • 友人
  • 留言
  • 赞赏
  • 建站史
  • 搜索
  • 夜间模式
    ©2025  Feng的小屋 Theme by OneBlog
    搜索
    标签
    # HTML # CSS # JS # 代码 # 分享 # 美化 # 感悟 # 小游戏 # 摄影 # 摄影知识
    🧑‍💻 代码

    彩虹屁猫猫Loading动画

    2025.07.06 / 84 阅读 / 2 评论 / 8032 字
    🧑‍💻 代码

    彩虹屁猫猫Loading动画

    阅读 84 评论 2 发表于2025.07.06
    AI摘要

    摘要:本文主要讲述了网页设计中Loading动画的作用和重要性,并展示了通过HTML代码实现的彩虹屁猫猫Loading动画,该动画通过关键属性将动画效果应用到元素上,增添网页视觉魅力并减少用户等待焦虑感。

    在网页设计的世界里,Loading 动画起着至关重要的作用。它不仅能够在页面加载时为用户提供反馈,减少等待的焦虑感,还能为网站增添独特的视觉魅力。

    代码演示

    点击即可专跳至在线预览~

    HTML 结构

    HTML 部分负责搭建动画的基本结构,代码如下:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8" />
        <title>彩虹屁猫猫 Loading 动画</title>
        <style>
            /* 这里是 CSS 样式代码 */
        </style>
    </head>
    
    <body>
        <div id="animation-container">
            <svg class="animation-rainbow-cat" viewbox="0 0 70 20">
                <defs>
                    <linearGradient id="rainbow-colors" x1="0.5" x2="0.5" y2="1">
                        <stop class="rainbow-color1" offset="0" />
                        <stop class="rainbow-color1" offset="0.167" />
                        <stop class="rainbow-color2" offset="0.167" />
                        <stop class="rainbow-color2" offset="0.335" />
                        <stop class="rainbow-color3" offset="0.335" />
                        <stop class="rainbow-color3" offset="0.5" />
                        <stop class="rainbow-color4" offset="0.5" />
                        <stop class="rainbow-color4" offset="0.669" />
                        <stop class="rainbow-color5" offset="0.669" />
                        <stop class="rainbow-color5" offset="0.833" />
                        <stop class="rainbow-color6" offset="0.833" />
                        <stop class="rainbow-color6" offset="1" />
                    </linearGradient>
                </defs>
                <g class="rainbow-cat">
                    <g class="rainbow">
                        <rect />
                        <rect />
                        <rect />
                        <rect />
                        <rect />
                        <rect />
                        <rect />
                    </g>
                    <g class="cat">
                        <g class="cat-tail" transform="translate(40, 5.5)">
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                        </g>
                        <g class="cat-legs" transform="translate(43, 5.5)">
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                        </g>
                        <g class="cat-bread" transform="translate(43, 5.5)">
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                        </g>
                        <g class="cat-head" transform="translate(43, 5.5)">
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                            <rect />
                        </g>
                    </g>
                </g>
            </svg>
        </div>
    </body>
    
    </html>

    在这个 HTML 代码中,可以看到以下几个关键部分:

    1. <svg> 元素:SVG(Scalable Vector Graphics)是一种用于描述二维矢量图形的 XML 标记语言。在这里,我们使用 <svg> 元素来创建动画的画布,并通过 viewbox 属性设置画布的可视区域。
    2. <linearGradient> 元素:用于创建线性渐变,这里定义了彩虹的颜色渐变效果。
    3. <g> 元素:用于将多个图形元素组合在一起,方便对它们进行统一的操作和样式设置。在这个动画中,我们使用 <g> 元素将彩虹、猫猫的尾巴、腿、面包和头部等部分分别组合起来。

    CSS 样式和动画效果

    CSS 部分负责为动画添加样式和实现动画效果,代码如下:

    body {
        background-color: black;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    svg {
        mask-image: linear-gradient(to left, #000000 70%, #ffffff00 84%);
        -webkit-mask-image: linear-gradient(
            to left,
            #000000 70%,
            #ffffff00 84%
        );
        width: 400px;
    }
    
    /* 彩虹部分样式和动画 */
    .animation-rainbow-cat .rainbow-color1 {
        stop-color: #fc0101;
    }
    
    .animation-rainbow-cat .rainbow-color2 {
        stop-color: #fe9900;
    }
    
    /* 其他彩虹颜色样式... */
    
    .animation-rainbow-cat .rainbow-cat .rainbow rect {
        width: 5px;
        stroke: transparent;
        fill: url(#rainbow-colors);
    }
    
    .animation-rainbow-cat .rainbow-cat .rainbow rect:nth-of-type(1) {
        height: 7px;
        transform: translate(40px, 6px);
        animation: rainbow-boost-1 0.2s linear 0.2s infinite alternate;
    }
    
    @keyframes rainbow-boost-1 {
        to {
            transform: translate(40px, 7px);
        }
    }
    
    /* 其他彩虹矩形的动画... */
    
    /* 猫猫各部分样式和动画 */
    /* 猫猫面包部分 */
    .animation-rainbow-cat .rainbow-cat .cat .cat-bread rect:nth-of-type(1) {
        width: 9px;
        height: 9px;
        fill: black;
        transform: translate(1px, 0px);
    }
    
    /* 其他猫猫面包矩形样式... */
    
    /* 猫猫尾巴部分 */
    .animation-rainbow-cat .rainbow-cat .cat .cat-tail rect:nth-of-type(1) {
        width: 0.5px;
        height: 1.5px;
        fill: black;
        transform: translate(2.5px, 5.5px);
    }
    
    /* 其他猫猫尾巴矩形样式和动画... */
    
    /* 猫猫头部部分 */
    .animation-rainbow-cat .rainbow-cat .cat .cat-head rect:nth-of-type(1) {
        width: 8px;
        height: 2.5px;
        fill: black;
        transform: translate(5px, 5px);
    }
    
    /* 其他猫猫头部矩形样式和动画... */
    
    /* 猫猫腿部部分 */
    .animation-rainbow-cat .rainbow-cat .cat .cat-legs rect:nth-of-type(1) {
        width: 2px;
        height: 1.5px;
        fill: black;
        transform: translate(0px, 7.5px);
    }
    
    /* 其他猫猫腿部矩形样式和动画... */
    
    /* 整个猫猫的动画 */
    .animation-rainbow-cat .rainbow-cat .cat {
        animation: cat-move 0.35s linear 0.2s infinite;
    }
    
    @keyframes cat-move {
        50% {
            transform: translate(0px, 0px);
        }
        50% {
            transform: translate(0.3px, -0.5px);
        }
        100% {
            transform: translate(1px, 0px);
        }
    }
    
    .animation-rainbow-cat .rainbow-cat .cat .cat-head {
        animation: cat-head-move 0.35s cubic-bezier(0.95, -0.11, 0.56, 0.67) 0.2s
            infinite;
    }
    
    @keyframes cat-head-move {
        0% {
            transform: translate(43.5px, 5px);
        }
        50% {
            transform: translate(44px, 5.5px);
        }
        100% {
            transform: translate(43px, 5.5px);
        }
    }
    
    /* 其他部分的动画... */

    在 CSS 代码中,可以看到以下几个重要的方面:

    1. 背景和布局:通过 body 元素的样式设置,将背景颜色设置为黑色,并使用 flexbox 布局将动画容器居中显示。
    2. SVG 遮罩效果:使用 mask-image 和 -webkit-mask-image 属性为 SVG 元素添加遮罩效果,使动画看起来更加生动。
    3. 颜色设置:通过 stop-color 属性为彩虹的每个颜色段设置不同的颜色。
    4. 动画效果:使用 @keyframes 规则定义各种动画,如彩虹的上下移动、猫猫的整体移动、头部的摆动、腿部的运动等。通过 animation 属性将这些动画应用到相应的元素上。
    本文著作权归作者 [ Feng ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    代码HTMLCSSJS
    取消回复

    发表留言
    回复

    读者留言2

    1. 凌清云 Lv.1
      中国贵州省贵阳市电信
      2025-07-18 15:06 回复

      一开始看你代码演示,我想你怎么实现的这个页面的,后面才反应过来你是嵌入其他网页了$[阿鲁表情]::(赞一个)

      1. Feng 博主
        中国广东省中山市电信
        2025-07-18 15:10 回复
        @凌清云

        图个简单,怎么简单怎么来$[阿鲁表情]::(看热闹)

    加载更多评论
    加载中...
    — 已加载全部评论 —
    首页说说友人留言赞赏建站史
    Copyright©2025  All Rights Reserved.  Load:0.016 s
    Theme by OneBlog V3.6.3
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。