CSS动画框架Loaders.css +animate.css
CSS加载动画框架Loaders.css
是一款非常出色的加载动画框架,Loaders.css利用纯CSS可以实现很多种样式的Loading加载动画,这些动画并不需要图片来辅助,而是仅仅需要CSS即可实现,因此运行效率比较不错。
Loaders.css的特点
- 基于纯CSS,不需JavaScript脚本,也不需要图片,很干净。
- 默认提供近30个不同的Loading动画效果,你也可以发挥自己的想象来实现不同的加载动画。
- Loaders.css比较轻巧,基本没什么臃肿的文件。
- 免费、开源,这是必须的。
下面是第一行第4个Loading动画的CSS代码,其他的大家可以在源代码中查看。
<span class= "hljs-selector-class" >.ball-clip-rotate-pulse { <span class= "hljs-attribute" > position : relative ; <span class= "hljs-attribute" >-webkit-transform: <span class= "hljs-built_in" >translateY( -15px ); <span class= "hljs-attribute" >-ms-transform: <span class= "hljs-built_in" >translateY( -15px ); <span class= "hljs-attribute" >transform: <span class= "hljs-built_in" >translateY( -15px ); } <span class= "hljs-comment" > /* line 262, stdin */ <span class= "hljs-selector-class" >.ball-clip-rotate-pulse > <span class= "hljs-selector-tag" >div { <span class= "hljs-attribute" >-webkit-animation-fill-mode: both ; <span class= "hljs-attribute" >animation-fill-mode: both ; <span class= "hljs-attribute" > position : absolute ; <span class= "hljs-attribute" > top : <span class= "hljs-number" > 0px ; <span class= "hljs-attribute" > left : <span class= "hljs-number" > 0px ; <span class= "hljs-attribute" >border-radius: <span class= "hljs-number" > 100% ; } <span class= "hljs-comment" > /* line 269, stdin */ <span class= "hljs-selector-class" >.ball-clip-rotate-pulse > <span class= "hljs-selector-tag" >div<span class= "hljs-selector-pseudo" >:first-child { <span class= "hljs-attribute" > background : <span class= "hljs-number" > #fff ; <span class= "hljs-attribute" > height : <span class= "hljs-number" > 16px ; <span class= "hljs-attribute" > width : <span class= "hljs-number" > 16px ; <span class= "hljs-attribute" > top : <span class= "hljs-number" > 9px ; <span class= "hljs-attribute" > left : <span class= "hljs-number" > 9px ; <span class= "hljs-attribute" >-webkit-animation: scale <span class= "hljs-number" > 1 s <span class= "hljs-number" > 0 s <span class= "hljs-built_in" >cubic-bezier( 0.09 , 0.57 , 0.49 , 0.9 ) infinite; <span class= "hljs-attribute" >animation: scale <span class= "hljs-number" > 1 s <span class= "hljs-number" > 0 s <span class= "hljs-built_in" >cubic-bezier( 0.09 , 0.57 , 0.49 , 0.9 ) infinite; } <span class= "hljs-comment" > /* line 277, stdin */ <span class= "hljs-selector-class" >.ball-clip-rotate-pulse > <span class= "hljs-selector-tag" >div<span class= "hljs-selector-pseudo" >:last-child { <span class= "hljs-attribute" > position : absolute ; <span class= "hljs-attribute" > border : <span class= "hljs-number" > 2px solid <span class= "hljs-number" > #fff ; <span class= "hljs-attribute" > width : <span class= "hljs-number" > 30px ; <span class= "hljs-attribute" > height : <span class= "hljs-number" > 30px ; <span class= "hljs-attribute" > background : transparent ; <span class= "hljs-attribute" > border : <span class= "hljs-number" > 2px solid ; <span class= "hljs-attribute" > border-color : <span class= "hljs-number" > #fff transparent <span class= "hljs-number" > #fff transparent ; <span class= "hljs-attribute" >-webkit-animation: rotate <span class= "hljs-number" > 1 s <span class= "hljs-number" > 0 s <span class= "hljs-built_in" >cubic-bezier( 0.09 , 0.57 , 0.49 , 0.9 ) infinite; <span class= "hljs-attribute" >animation: rotate <span class= "hljs-number" > 1 s <span class= "hljs-number" > 0 s <span class= "hljs-built_in" >cubic-bezier( 0.09 , 0.57 , 0.49 , 0.9 ) infinite; <span class= "hljs-attribute" >-webkit-animation-duration: <span class= "hljs-number" > 1 s; <span class= "hljs-attribute" >animation-duration: <span class= "hljs-number" > 1 s; }</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> |
在线演示地址:http://static.codeceo.com/demo/201505/loaders.css/index.html
GitHub地址:https://github.com/ConnorAtherton/loaders.css
软件首页:https://connoratherton.com/loaders
animate.css
animate.css是一个使用CSS3的animation制作的动画效果的CSS集合,里面预设了很多种常用的动画,且使用非常简单。本文将详细介绍animate.css的使用
引入
animate.css的最新版本是3.5.2,引入animate.css很容易,有以下几种方法
1、从官网下载
https://raw.github.com/daneden/animate.css/master/animate.css
2、通过npm安装
$ npm install animate.css
3、使用在线cdn
https://unpkg.com/animate.css@3.5.2/animate.min.css
效果演示
animate.css的使用非常简单,因为它是把不同的动画绑定到了不同的类里,所以想要使用哪种动画,只需要把通用类animated和相应的类添加到元素上就行了
下面来详细介绍animate.css里面的类,主要包括Attention(晃动效果)、bounce(弹性缓冲效果)、fade(透明度变化效果)、flip(翻转效果)、rotate(旋转效果)、slide(滑动效果)、zoom(变焦效果)、special(特殊效果)这8类
【Attention(晃动效果)】
bounce
flash
pulse
rubberBand
shake
headShake
swing
tada
wobble
jello
以在div上使用bounce为例
<div class="animated bounce"></div>
【bounce(弹性缓冲效果)】
bounceIn
bounceInDown
bounceInLeft
bounceInRight
bounceInUp
bounceOut
bounceOutDown
bounceOutLeft
bounceOutRight
bounceOutUp
【fade(透明度变化效果)】
fadeIn
fadeInDown
fadeInDownBig
fadeInLeft
fadeInLeftBig
fadeInRight
fadeInRightBig
fadeInUp
fadeInUpBig
fadeOut
fadeOutDown
fadeOutDownBig
fadeOutLeft
fadeOutLeftBig
fadeOutRight
fadeOutRightBig
fadeOutUp
fadeOutUpBig
【flip(翻转效果)】
flip
flipInX
flipInY
flipOutX
flipOutY
【rotate(旋转效果)】
rotateIn
rotateInDownLeft
rotateInDownRight
rotateInUpLeft
rotateInUpRight
rotateOut
rotateOutDownLeft
rotateOutDownRight
rotateOutUpLeft
rotateOutUpRight
【slide(滑动效果)】
slideInDown
slideInLeft
slideInRight
slideInUp
slideOutDown
slideOutLeft
slideOutRight
slideOutUp
【zoom(变焦效果)】
zoomIn
zoomInDown
zoomInLeft
zoomInRight
zoomInUp
zoomOut
zoomOutDown
zoomOutLeft
zoomOutRight
zoomOutUp
【special(特殊效果)】
hinge
rollIn
rollOut
lightSpeedIn
lightSpeedOut
实际应用
在一般的使用中,直接在元素上添加animated和对应的类名即可
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="https://unpkg.com/animate.css@3.5.2/animate.min.css">
<style>
.box{height: 100px;width: 100px;background-color: lightblue}
</style>
</head>
<body>
<div class="box animated flash"></div>
</body>
</html>
通过给JS添加或删除class,可以实现动态效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="https://unpkg.com/animate.css@3.5.2/animate.min.css">
<style>
.box{height: 100px;width: 100px;background-color: lightblue}
</style>
</head>
<body>
<button id="btn1">添加</button>
<button id="btn2">移除</button>
<div id="box" class="box"></div>
<script>
var oBtn1 = document.getElementById('btn1');
var oBtn2 = document.getElementById('btn2');
var oBox = document.getElementById('box');
oBtn1.onclick = function(){
oBox.classList.add('animated');
oBox.classList.add('flash');
}
oBtn2.onclick = function(){
oBox.classList.remove('flash');
}
</script>
</body>
</html>
至于动画的配置参数,比如动画持续时间,动画的执行次数等等,可以在元素上自行定义,覆盖掉animate.css里面所定义的就行了
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="https://unpkg.com/animate.css@3.5.2/animate.min.css">
<style>
.box{height: 100px;width: 100px;background-color: lightblue}
.infinite{animation-iteration-count:infinite;}
</style>
</head>
<body>
<button id="btn1">添加循环的动画效果</button>
<button id="btn2">移除</button>
<div id="box" class="box"></div>
<script>
var oBtn1 = document.getElementById('btn1');
var oBtn2 = document.getElementById('btn2');
var oBox = document.getElementById('box');
oBtn1.onclick = function(){
oBox.classList.add('animated');
oBox.classList.add('flash');
oBox.classList.add('infinite');
}
oBtn2.onclick = function(){
oBox.classList.remove('flash');
}
</script>
</body>
</html>
CSS动画框架Loaders.css +animate.css的更多相关文章
- CSS3动画animation认识,animate.css的使用
CSS动画 可以取代js动画 在移动端会更加流畅! 下面是一个的绘制太阳系各大行星运行轨迹笔记,可以自学参考! -------------------------------------------- ...
- Web高性能动画及渲染原理(1)CSS动画和JS动画
目录 一. CSS动画 和 JS动画 1.1 CSS动画 1.2 JS动画 1.3 小结 二. 使用Velocity.js实现动画 示例代码托管在:http://www.github.com/dash ...
- 高性能Web动画和渲染原理系列(1)——CSS动画和JS动画
[摘要] 介绍CSS动画和JS动画的基本特点,以及轻量级动画库velocity.js的基本用法. 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园 ...
- 【JavaScript框架封装】实现一个类似于JQuery的基础框架、事件框架、CSS框架、属性框架、内容框架、动画框架整体架构的搭建
/* * @Author: 我爱科技论坛 * @Time: 20180715 * @Desc: 实现一个类似于JQuery功能的框架 * V 1.0: 实现了基础框架.事件框架.CSS框架.属性框架. ...
- Ionic3学习笔记(五)动画之使用 animate.css
本文为原创文章,转载请标明出处 目录 前言 animate.css 的使用 animate.scss 的使用 1. 前言 animate.css 是一款强大的.跨浏览器的预设CSS3动画库,内置了很多 ...
- CSS--使用Animate.css制作动画效果
一 使用Animate.css动画 // 通过@import引入外部CSS资源; // 引入线上图片及JS文件; // 通过更改CSS类名生成不同类型的CSS3动画; <!DOCTYPE h ...
- animate.css的使用
前面的话 animate.css是一个使用CSS3的animation制作的动画效果的CSS集合,里面预设了很多种常用的动画,且使用非常简单.本文将详细介绍animate.css的使用 引入 anim ...
- Animate.css介绍
Animate.css简介 animate.css 动画库,预设了抖动(shake).闪烁(flash).弹跳(bounce).翻转(flip).旋转(rotateIn/rotateOut).淡入淡出 ...
- 强大的CSS3动画库animate.css
今天要给大家介绍一款强大的CSS3动画库animate.css,animate.css定义了大概50多种动画形式,包括淡入淡出,文字飞入.左右摇摆动画等等.使用animate.css也非常简单,你可以 ...
随机推荐
- Kettle学习系列之Kettle能做什么?(三)
不多说,直接上干货! PDI(Kettle) 都能做什么? 可以说凡是有数据整合.转换.迁移的场景都可以使用PDI,他代替了完成数据转换任务的手工编码,降低了开发难度. 同时,我们可以在自己实际业务里 ...
- 读书笔记-构建高性能Web站点
基本概念 带宽:通常说的带宽比如8M带宽,是指主机与互联网运营商的交换机之间的数据传输速度,因为数据链路层的流量是通过控制接收方实现的.而百兆网卡则是指网卡的发送速度为100Mbit/s,则是指网卡发 ...
- 阿里巴巴和印度最大移动支付和商务平台Paytm
2015年9月29日,阿里巴巴和印度最大移动支付和商务平台Paytm发布联合声明,宣布阿里巴巴集团及其旗下金融子公司蚂蚁金服将向Paytm注入新资金.阿里称这是一项“战略性的”投资. 蚂蚁金服已经在2 ...
- 【原创】使用Kettle的一些心得和经验
用kettle做etl也有段时间了,遇到很多问题,总结了一下. [关于版本的问题] kettle常用的版本有4.1和4.4,对于4.1版本: 1.该版本的兼容性有点差,在某些机器上运行会启动失败,或者 ...
- SpringCloud学习笔记(11)----Spring Cloud Netflix之Hystrix断路器的使用
为什么会有断路器? 在微服务架构中,系 是拆分成 一个的服务单元各间通过注册与发现 的方式互相依 赖.每个单元都在不同的进程中运行, 都是通过远程调用的方式进行信 ,这样就有可能因为网络原或 是依赖服 ...
- 关于注意力机制(《Attention is all you need》)
深度学习做NLP的方法,基本上都是先将句子分词,然后每个词转化为对应的词向量序列.(https://kexue.fm/archives/4765) 第一个思路是RNN层,递归进行,但是RNN无法很好地 ...
- 路飞学城Python-Day13
[2.常用模块-模块的种类和导入方法] 1.什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长.越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分 ...
- chrome 获取移动端页面元素信息
一:背景在使用appium进行app端自动化测试的时候,一般使用的是uiautomatorviewer来给页面元素做定位.但如果遇到页面元素类型是webview的时候,则只能定位整个页面,而不能更进一 ...
- KOA 框架
const koa = require('koa'); const static = require('koa-static'); const server = new koa(); // 静态文件 ...
- 15条JavaScript最佳实践【转】
本文档整理大部分公认的.或者少有争议的JavaScript良好书写规范(Best Practice).一些显而易见的常识就不再论述(比如要用对象支持识别判断,而不是浏览器识别判断:比如不要嵌套太深). ...