纯css的loading效果

在之前的文章里面实现loading组件的封装

其实在日常生活中我们可以采用纯css的组件方式实现loading 的效果

其中<p>元素被绝对定位在其父元素的中心,并且其内部的文本大小和对行间距(line-height)是响应式的,基于视口宽度(vw单位)。此外,它试图在<p>元素之后添加一个伪元素(::after),该伪元素通过CSS动画(@keyframes)来动态地改变其content属性,从而创建一个简单的点(.)加载动画。

复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);  
    font-size: 6vw;
    line-height: 8vw;
    }

    p::after {
        content: "";
        position: absolute;
        top: 0%;
        bottom: 0;
        animation: dot 3s infinite steps(3, start);
        line-height: 9vw;
    }

    @keyframes dot {
        33.33% {
            content: ".";
        }
        66.67% {
            content: "..";
        }
        100% {
            content: "...";
        }
    }
    </style>
</head>
<body>
    <p>😅</p>
      <div>没了</div>
</body>
</html>

项目的借用的话可以借助状态变量使用v-show来实现在需要的时候进行显示

但需要注意的是没有办法实现全局注册,因为直接定义一个标签的话在sass里面可能会出现一些问题

但通过vuex存储变量,sass进行全局css定义也可以实现,但仅仅适用于小项目使用量不大的情况

实现效果如下

相关推荐
莪_幻尘1 小时前
Skill 体检:30 个 Skill 全凭感觉?体检器先自曝了 8 个“假 0 分
前端·人工智能·llm
风骏时光牛马1 小时前
AI模型综合能力评测:性能、指令遵循与多场景实测对比
前端
Frag0ut1 小时前
Chrome与Chromium内核浏览器在Windows 11上的新特性全景解析
前端·chrome·windows·web安全·chromium·gemini ai·playready drm
hiahiahia1232 小时前
实现完整 Tool Dispatcher
开发语言·前端
IT_陈寒2 小时前
Java线程池这破玩意,差点让我周末加班排查到凌晨
前端·人工智能·后端
Mr_Mao3 小时前
告别选型困难!集 VueUse、ahooks、Mantine 于一身:286 个 Hook 的 ReaUse 来了
前端·javascript·react.js
泡海椒3 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
默_笙4 小时前
🚙 一条腿走路会摔:ES 关键词检索、混合召回与 ReRank 裁判
前端·javascript
YIAN4 小时前
从跨域代理到 WebSocket:梳理前端实时通信的底层逻辑与完整实践
前端·websocket
一曲终散4 小时前
创建 SVG 图标预览页面:从零实现到解决 CORS 问题
前端