animation & @keyframes 实现loading效果
效果图截图如下:
直接上代码:
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效果的更多相关文章
- CSS content换行技术实现字符animation loading效果
一.之前我的字符loading实现 关于字符打点动画实现,我之前使用过box-shadow模拟,还有border+background模拟,还有使用text-shadow实现,以及今年自认为是最好的实 ...
- 使用CSS时间打点的Loading效果的教程
基于box-shadow实现的打点效果 理论上,box-shadow可以实现任意的图形效果,自然我们可以利用box-shadow生成我们的点效果,然后通过animation控制不同时间点点的数目就可以 ...
- 用CSS3实现饼状loading效果
原文地址:http://visugar.com/2017/05/17/CSS3%E9%A5%BC%E7%8A%B6loading%E6%95%88%E6%9E%9C/ 写在前面 (附录有源码及效果) ...
- css3 之炫酷的loading效果
css3 之炫酷的loading效果 今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用 js需要引入jquery 只用到了一点点js 先看效果图 html: ...
- vue 首页背景图片加载完成前增加 loading 效果 -- 使用 new Image() 实现
1. 创建 loading 公用组件 <template> <div class="load-container"> <div class=" ...
- CSS3实现的几个小loading效果
昨晚上闲的没事突然想做几个小loading效果,下面是昨晚上做的几个小案例,分享给大家 1.水波loading:这个loading是我觉得非常简单,但是看上去的效果却非常不错的一个小loading 这 ...
- 前端页面loading效果(CSS实现)
当首页内容或图片比较多时,加载时间会比较长,此时可能出现页面白屏的情况,用户体验较差.所以,在页面完全加载出来之前,可以考虑加入loading效果,当页面完全加载完后,是loading消失即可. 1. ...
- CSS3饼状loading效果
概述 之前看到很多饼状loading效果是用图片的方式实现的,本例子采用的是纯CSS3实现,这样可以节省资源空间,有兴趣的小伙伴可以看下~ 详细 代码下载:http://www.demodashi.c ...
- JQuery+CSS3实现Ajax加载时loading效果
之前通过Ajax请求加载数据的时候,在数据还没有呈现出来前,为了更好的用户体验,总会弄个loading告诉用户其实内容正在加载,而不是网站崩了.但是貌似之前使用gif图片的情况比较多,可能是为了兼容各 ...
随机推荐
- [BZOJ1050] [HAOI2006] 旅行comf (Kruskal, LCT)
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...
- [JSOI2008]球形空间产生器sphere
Sol 设一个dis,就有n+1个方程,消掉dis,就只有n个方程,组成一个方程组,高斯消元就好(建议建立方程时推一下,很简单) # include <bits/stdc++.h> # d ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- redis学习系列——redis持久化
1.写操作的流程 2.RDB快照-redis的第一个持久化策略 第一种是以快照的形式持久化到本地磁盘(RDB文件). 持久化策略是: 1.配置(save N M)在N秒内,redis至少发生M次修改, ...
- Ajax模拟Form表单提交,含多种数据上传
---恢复内容开始--- Ajax提交表单.使用FormData提交表单数据和上传的文件(这里的后台使用C#获取,你可以使用Java一样获取) 有时候前台的数据提交到后台,不想使用form表单上传,希 ...
- WordPress添加个性化的博客宠物的方法
在很多的网站上都看见过这种效果,于是自己也想试试.看见我网站上的小宠物了吗,就是这种效果. 不多说,方法如下: 工具: 下载地址:http://yunpan.cn/cFUmZB8WWthty 访问密码 ...
- php做的一个简易爬虫
对于爬虫的好奇好像由来已久,一直在研究python的爬虫,今天得空研究研究php的爬虫 index.php <?php header("Content-Type:text/html;c ...
- 软件测试第二周作业 WordCount
本人github地址: https://github.com/wenthehandsome23 psp阶段 预估耗时 (分钟) 实际耗时 (分钟) 计划 30 10 估计这个任务需要多少时间 20 ...
- WBS
Need 需求分析: 为了满足中老年人因工作忙碌而无暇阅读的痛苦,我们设计推广出一款听书软件.可以给中老年人带来的好处是不再受繁琐的听书软件的束缚,操作简单,携带便捷. Approach 实现方法: ...
- c++趣味之难以发现的bug
这些bug可能够你喝一壶的. 1.被断言(assert)包含的代码 常发生在切换到release版本时,执行结果乖乖的,最终查找结果是assert括号里的代码在release下是不执行的. 发现:跟踪 ...