HTML+CSS制作旋转的loading效果

简介: HTML+CSS制作旋转的loading效果

HTML+CSS制作旋转的loading效果

效果图如下:

HTML部分源代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML+CSS制作旋转的loading效果</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="loader">
        <span>loading...</span>
    </div>
</body>
</html>

CSS部分源代码如下:

:root {
    --background-color: #2c3e50;
    --border-color: #7591AD;
    --text-color: #34495e;
    --color1: #EC3E27;
    --color2: #fd79a8;
    --color3: #0984e3;
    --color4: #00b894;
    --color5: #fdcb6e;
    --color6: #e056fd;
    --color7: #F97F51;
    --color8: #BDC581;
}
* {
    margin: 0;
    padding: 0;
}
html {
    font-size: 14px;
    box-sizing: border-box;
}
body {
    width: 100vw;
    height: 100vh;
    background-color: var(--background-color);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Montserrat', sans-serif, Arial, 'Microsoft Yahei';
}
.loader {
    position: relative;
    width: 100px;
    height: 100px;
    color: #fff;
    /* 圆角形成圆形 */
    border-radius: 50%;
    /* 实现顶部圆弧 */
    border-top: 5px solid var(--color2);
    /* 解决loading转动时上下浮动问题
    主要原因是旋转的不是一个圆形,上方多了边框
    下方也增加边框让形状成为一个对称,转动时就不会浮动了
    如果使用box-sizing: border-box;应该也可以解决。
    好像不行,回头在研究,原理就是让旋转的元素成为一个对称的形状即可。
    */
    border-bottom: 5px solid transparent;
    /* background-color: turquoise; */
    /* 内容左右、上下居中 */
    display: flex;
    justify-content: center;
    align-items: center;
    /* 增加动画 */
    animation: animate .5s linear infinite;
}
.loader::after, .loader::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: -5px;
    border-radius: 50%;
    border-bottom: 5px solid transparent;
    /* background-color: wheat; */
}
.loader::after {
    /* 实现顶部圆弧 */
    border-top: 5px solid var(--color3);
    /* 旋转3分之一圈 */
    transform: rotate(120deg);
}
.loader::before {
    /* 实现顶部圆弧 */
    border-top: 5px solid var(--color6);
    /* 旋转3分之一圈 */
    transform: rotate(-120deg);
}
/* 创建动画关键帧,实现旋转 */
@keyframes animate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.loader span{
    /* reverse的作用:还是同一个动画但是动画的方向是反着的 */
    animation: animate .5s linear infinite reverse;
}


相关文章
|
17天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
23 0
|
8天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
12天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
19 1
|
12天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
19天前
|
JSON JavaScript 前端开发
js是什么、html、css
js是什么、html、css
|
20天前
|
XML 前端开发 JavaScript
css和html
【4月更文挑战第7天】css和html
13 0
|
25天前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性
|
1月前
|
前端开发 容器 内存技术
使用CSS3画出一个叮当猫HTML源码
本文教程介绍了如何使用CSS3绘制叮当猫,通过HTML结构和CSS样式逐步构建叮当猫的各个部位,如头部、脸部、脖子、身体、手脚等。代码示例展示了如何利用渐变、边框、阴影和定位技巧实现三维效果和细节特征。此外,还添加了眼珠的动画效果,让叮当猫的眼睛能够转动。整个过程适合对CSS3感兴趣的读者参考学习,以提升动态图形创作技能。
16 0
使用CSS3画出一个叮当猫HTML源码
|
1月前
使用html+css制作一个发光立方体特效
使用html+css制作一个发光立方体特效
23 2
使用html+css制作一个发光立方体特效