博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用css3制作旋转加载动画的几种方法
阅读量:4486 次
发布时间:2019-06-08

本文共 2425 字,大约阅读时间需要 8 分钟。

以WebKit为核心的浏览器,例如Safari和Chrome,对html5有着很好的支持,在移动平台中这两个浏览器对应的就是IOS和Android。最近在开发一个移动平台的web app,那么就有机会利用css3去实现一些很酷的效果,这些效果原来更多的是利用图片来实现。最近的一个改进就是利用css3制作旋转加载动画。以下将分别介绍几种实现的方案。

方案1,图片辅助

传统做法是直接用动态的GIF图片,这个方案是用PNG图片加上背景颜色来模拟静止的加载图片,然后利用css中的animation处理图片的旋转。相比传统方案,这个方案的好处是可以直接通过修改CSS来改变背景色,可以修改大小和旋转速度。如下是具体的CSS代码:

HTML:

 

CSS

body {    background-color: #eee;}.loading {    border: 3px solid #3a3;    border-right: 3px solid #fff;    border-bottom: 3px solid #fff;    height: 50px;    width: 50px;    border-radius: 50%;    -webkit-animation: loading 1s infinite linear;    -moz-animation: loading 1s infinite linear;    -o-animation: loading 1s infinite linear;    animation: loading 1s infinite linear;}@-webkit-keyframes loading {    from {        -webkit-transform: rotate(0deg);    }    to {        -webkit-transform: rotate(360deg);    }}@-moz-keyframes loading {    from {        -moz-transform: rotate(0deg);    }    to {        -moz-transform: rotate(360deg);    }}@-o-keyframes loading {    from {        -o-transform: rotate(0deg);    }    to {        -o-transform: rotate(360deg);    }}@keyframes loading {    from {        transform: rotate(0deg);    }    to {        transform: rotate(360deg);    }}.abgne-loading-20140104-2 {    position: relative;    height: 100px;    width: 100px;}.abgne-loading-20140104-2 .loading {    border: 6px solid #168;    border-right: 6px solid #fff;    border-bottom: 6px solid #fff;    height: 100%;    width: 100%;    border-radius: 50%;    -webkit-animation: loading 1s infinite linear;    -moz-animation: loading 1s infinite linear;    -ms-animation: loading 1s infinite linear;    -o-animation: loading 1s infinite linear;    animation: loading 1s infinite linear;}.abgne-loading-20140104-2 .word {    color: #168;    position: absolute;    top: 0;    left: 0;    display: inline-block;    text-align: center;    font-size: 72px;    line-height: 72px;    font-family: 微軟正黑體, arial;    margin: 18px 0 0 20px;    padding: 0;}

 

形如:

 

方案2, 纯CSS实现

方案的思路是,首先用css渲染12个静态的bar,每个bar间隔30度的角度,给每个bar添加背景变淡的动画,但是相邻bar的动画效果延迟1/12秒,来保证12个bar是按顺序变亮然后变暗。从而模拟出旋转的效果。

这个旋转效果是伪旋转,所有的bar都没有真正做到旋转。

HTML

 

CSS

 形如:

转载于:https://www.cnblogs.com/laneyfu/p/4325987.html

你可能感兴趣的文章
linux中tomcat内存溢出解决办法 分类: 测试 ...
查看>>
jQuery $.each用法
查看>>
[Luogu 3902]Increasing
查看>>
clear语句处理不同类型的数据结果
查看>>
HDU 6118 度度熊的交易计划(费用流)
查看>>
UrlEncode编码/UrlDecode解码使用方法
查看>>
使用ubuntu作为web开发环境的一些感受
查看>>
easyui-datagrid 自适应列宽问题
查看>>
OO第一次总结
查看>>
VS2012发布网站详细步骤
查看>>
文件下载隐匿执行
查看>>
【导图控】各软件开发版本详解
查看>>
HDU 1533 Going home
查看>>
Extjs面板和布局初探
查看>>
箭头函数
查看>>
SharePoint【ECMAScript对象模型系列】-- 11. Enable/Disable Ribbon上的Button
查看>>
C#委托-怎样理解C#中“委托”的含义和用途
查看>>
Spring数据访问1 - 数据源配置及数据库连接池的概念
查看>>
setting.xml配置详解
查看>>
工作笔记——使用Jest时遇到的一些问题
查看>>