首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css3实现loading加载效果

发布于 2024-11-11 15:19:55
0
30

CSS3提供了很多实现loading加载效果的方法,如使用动画、过渡、变换等技术。下面介绍一些常用的loading加载效果实现方法。 /实现旋转方块loading效果/ .spinner { bord...

CSS3提供了很多实现loading加载效果的方法,如使用动画、过渡、变换等技术。下面介绍一些常用的loading加载效果实现方法。

/*实现旋转方块loading效果*/
.spinner {
    border: 16px solid #f3f3f3; 
    border-top: 16px solid #3498db; 
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/*实现跳动点loading效果*/
.dots {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.dot {
    width: 20px;
    height: 20px;
    margin: 0 10px;
    background-color: #3498db;
    border-radius: 50%;
    animation: jump 0.6s ease-in-out infinite;
}

@keyframes jump {
    0%, 80%, 100% {
        transform: translate(0, 0);
    }
    40% {
        transform: translate(0, -20px);
    }
}

/*实现渐变圆形loading效果*/
.loader {
    position: relative;
    width: 80px;
    height: 80px;
}

.loader:before, .loader:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    width: 100%;
    height: 100%;
}

.loader:before {
    background: #3498db;
    opacity: 0.5;
    animation: animateBefore 2s linear infinite;
}

.loader:after {
    background-image: linear-gradient(to bottom, #3498db 0%, #00bcd4 100%);
    animation: animateAfter 2s linear infinite;
    opacity: 0;
    transition: opacity .3s ease-in-out;
}

.loader:hover:after {
    opacity: 1;
}

@keyframes animateBefore {
    0% { transform: scale(1); }
    100% { transform: scale(2); }
}

@keyframes animateAfter {
    0% { transform: scale(.5); }
    100% { transform: scale(1); }
} 

以上是实现旋转方块、跳动点、渐变圆形loading加载效果的代码样式。可以根据不同需求选择不同实现方式。使用CSS3实现loading加载效果简单方便,可以提高用户体验,也给网站增色不少。 

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流