效果图截图如下:

直接上代码:

html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3实现loading效果</title>
<link rel="stylesheet" type="text/css" href="css3-loading.css">
</head>
<body>
<div class="loading-box">
<div class="loading"></div>
<p class="font">Loading</p>
</div>
</body>
</html>

css

.loading-box{
width: 200px;
height: 200px;
position: relative;
margin: 100px auto 0 auto;
}
.font{
width: 100%;
height: 40px;
font-size: 20px;
font-family: Arial;
position: absolute;
text-align: center;
line-height: 40px;
left: 0;
top: 50%;
margin-top: -20px;
color: green;
}
.loading{
width: 170px;
height: 170px;
margin: 10px auto 10px auto;
border-radius: 100%;
border-left:10px solid #eeeeee;
border-bottom:10px solid #eeeeee;
border-right:10px solid green;
border-top:10px solid green;
-webkit-animation: loading .6s infinite linear;
-moz-animation: loading .6s infinite linear;
-ms-animation: loading .6s infinite linear;
-o-animation: loading .6s infinite linear;
animation: loading .6s infinite linear;
}
@keyframes "loading" {
from {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(359deg);
-moz-transform: rotate(359deg);
-o-transform: rotate(359deg);
-ms-transform: rotate(359deg);
transform: rotate(359deg);
} } @-moz-keyframes loading {
from {
-moz-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-moz-transform: rotate(359deg);
transform: rotate(359deg);
} } @-webkit-keyframes "loading" {
from {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
} } @-ms-keyframes "loading" {
from {
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-ms-transform: rotate(359deg);
transform: rotate(359deg);
} } @-o-keyframes "loading" {
from {
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-o-transform: rotate(359deg);
transform: rotate(359deg);
} }

animation

语法


animation: name duration timing-function delay iteration-count direction;

定义和用法

animation 属性是一个简写属性,用于设置六个动画属性:

  • animation-name:规定需要绑定到选择器的keyframe名称
  • animation-duration:规定完成动画所花费的时间,以秒或毫秒计
  • animation-timing-function:规定动画的速度曲线
  • animation-delay:规定在动画开始之前的延迟
  • animation-iteration-count:规定动画开始之前的延迟
  • animation-direction:规定是否应该轮流反向播放动画
animation-timing-function的属性值
  • linear :动画从头到尾速度是相同的
  • ease :默认。动画以低速开始,然后加快,在结束前变慢。
  • ease-in :动画以低速开始。
  • ease-out :动画以低速结束。
  • ease-in-out :动画以低速开始和结束。
  • cubic-bezier(n,n,n,n) :在cubic-bezier函数中自己的值。该值是从0到1的数值。

兼容性

  • IE10及Firefox、Opera支持animation属性。
  • Safari和Chrome支持替代的-webkit-animation属性。
  • IE9及其以下版本不支持animation属性。

请始终规定animation-duration属性,否则时长为0,就不会播放动画了。

@keyframes

语法

@keyframes animationname {keyframes-selector {css-styles;}}

定义和用法

  • animationname:定义动画的名称。
  • keyframes-selector:动画时长的百分比。
  • css-styles:一个或多个合法的css样式属性。
keyframes-selector合法值
  • 0-100%
  • form(与0%相同)
  • to(与100%相同)

兼容性

  • 目前浏览器都不支持 @keyframes 规则。
  • Firefox 支持替代的 @-moz-keyframes 规则。
  • Opera 支持替代的 @-o-keyframes 规则。
  • Safari 和 Chrome 支持替代的 @-webkit-keyframes 规则。

animation & @keyframes 实现loading效果的更多相关文章

  1. CSS content换行技术实现字符animation loading效果

    一.之前我的字符loading实现 关于字符打点动画实现,我之前使用过box-shadow模拟,还有border+background模拟,还有使用text-shadow实现,以及今年自认为是最好的实 ...

  2. 使用CSS时间打点的Loading效果的教程

    基于box-shadow实现的打点效果 理论上,box-shadow可以实现任意的图形效果,自然我们可以利用box-shadow生成我们的点效果,然后通过animation控制不同时间点点的数目就可以 ...

  3. 用CSS3实现饼状loading效果

    原文地址:http://visugar.com/2017/05/17/CSS3%E9%A5%BC%E7%8A%B6loading%E6%95%88%E6%9E%9C/ 写在前面 (附录有源码及效果) ...

  4. css3 之炫酷的loading效果

    css3 之炫酷的loading效果 今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用 js需要引入jquery 只用到了一点点js 先看效果图 html: ...

  5. vue 首页背景图片加载完成前增加 loading 效果 -- 使用 new Image() 实现

    1. 创建 loading 公用组件 <template> <div class="load-container"> <div class=" ...

  6. CSS3实现的几个小loading效果

    昨晚上闲的没事突然想做几个小loading效果,下面是昨晚上做的几个小案例,分享给大家 1.水波loading:这个loading是我觉得非常简单,但是看上去的效果却非常不错的一个小loading 这 ...

  7. 前端页面loading效果(CSS实现)

    当首页内容或图片比较多时,加载时间会比较长,此时可能出现页面白屏的情况,用户体验较差.所以,在页面完全加载出来之前,可以考虑加入loading效果,当页面完全加载完后,是loading消失即可. 1. ...

  8. CSS3饼状loading效果

    概述 之前看到很多饼状loading效果是用图片的方式实现的,本例子采用的是纯CSS3实现,这样可以节省资源空间,有兴趣的小伙伴可以看下~ 详细 代码下载:http://www.demodashi.c ...

  9. JQuery+CSS3实现Ajax加载时loading效果

    之前通过Ajax请求加载数据的时候,在数据还没有呈现出来前,为了更好的用户体验,总会弄个loading告诉用户其实内容正在加载,而不是网站崩了.但是貌似之前使用gif图片的情况比较多,可能是为了兼容各 ...

随机推荐

  1. 【Uoj34】多项式乘法(NTT,FFT)

    [Uoj34]多项式乘法(NTT,FFT) 题面 uoj 题解 首先多项式乘法用\(FFT\)是一个很久很久以前就写过的东西 直接贴一下代码吧.. #include<iostream> # ...

  2. 如何用JAVA的IO流下载落网音乐?

    一直以来都特别喜欢落网的音乐,最近用JAVA写了一个小程序,可以根据期刊和歌曲编号去下载音乐.本程序仅供学习使用. 目前只写了一个初步的代码: public class DownloadMusic { ...

  3. 大数据(2):基于sogou.500w.utf8数据hive的实践

    一.环境的搭建 1.安装配置mysql rpm –ivh MySQL-server-5.6.14.rpm rpm –ivh MySQL-client-5.6.14.rpm 启动mysql 创建hive ...

  4. Java设计模式(四)Builder建造者模式

    一.场景描述 建造者模式同工厂模式.抽象工厂模式一样,用于创建继承类对象. 工厂模式:http://www.cnblogs.com/mahongbiao/p/8618970.html 抽象工厂模式:h ...

  5. iOS 用户体验之音频

    早期某知名公司的应用有这么一个问题,如果我在听音乐时打开该应用,播放一段小视频,视频播放完成之后,音乐没有继续播放.这个问题被很多用户吐槽,很久以后,该公司终于修复了这个问题. 无论声音是应用体验的重 ...

  6. 原生拖拽js利用localstorage保存位置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 9.FileWriter 和 BufferWriter

    FileWriter 和 BufferWriter的使用场景 http://www.cnblogs.com/xjyh/p/4529809.html

  8. weka实际操作--构建分类、回归模型

    weka提供了几种处理数据的方式,其中分类和回归是平时用到最多的,也是非常容易理解的,分类就是在已有的数据基础上学习出一个分类函数或者构造出一个分类模型.这个函数或模型能够把数据集中地映射到某个给定的 ...

  9. Mycat 分片规则详解--数据迁移及节点扩容

    使用的是 Mycat 提供的 dataMigrate 脚本进行对数据进行迁移和节点扩容,目前支持的 Mycat 是1.6 版本,由于 Mycat 是由 Java 编写的因此在做数据迁移及节点扩容时需要 ...

  10. 巧用linux版powershell,管理linux下的docker

    大家好,我把用powershell的docker马甲命令的好处,放在了页面下方,从第五章开始. powershell 传教士 原创文章 始于 2017-09-07 允许转载,但必须保留名字和出处,否则 ...