CSS3——animation的基础(轮播图)
作为前端刚入门的小菜鸟,只想记录一下每天的小收获
对于animation动画
1.实现动画效果的组成:
(1)通过类似Flash的关键帧来声明一个动画
(2)在animation属性中调用关键帧声明的动画
2.animation是一个复合属性包括很多的子属性:
animation-name:用来指定一个关键帧动画的名称,这个动画名必须对应一个@keyframes 规则。CSS 加载时会应用animation-name 指定的动画,从而执行动画。
animation-duration 用来设置动画播放所需的时间
animation-timing-function 用来设置动画的播放方式,有一些值如下:
速度由快到慢,然后逐渐变慢:ease
速度越来越快,呈现加速状态:ease-in;
速度越来越慢,呈现一种减速状态:ease-out
先加速,在减速:ease-in-out
匀速状态:linear
自定义(三段赛贝尔曲线);cubic-bezier
animation-delay 用来指定动画的延迟时间(一直循环的值:infinite)
animation-iteration-count 用来指定动画播放的循环次数
animation-direction 用来指定动画的播放方向(逆向:alternate)
animation-play-state 用来控制动画的播放状态(停止:paused)
animation-fill-mode 用来设置动画的时间外属性
动画结束后不返回:forwards
动画结束后迅速返回:backforwards
根据情况产生前两个效果:base
默认:normal;
简写形式:animation: myani 1s ease 2 alternate 0s both;
3.为了兼容旧版本,需要加上相应的浏览器前缀,版本信息如下表:
Opera Firefox Chrome Safari IE
支持需带前缀15 ~ 29 5 ~ 15 4 ~ 42 4 ~ 8 无
支持不带前缀无16+ 43+ 无10.0+
//兼容完整版,Opera 在这个属性上加入webkit,所以没有-o-
-webkit-animation: myani 1s ease 2 alternate 0s both;
-moz-animation: myani 1s ease 2 alternate 0s both;
-ms-animation: myani 1s ease 2 alternate 0s both;
transition: all 1s ease 0s;
//@keyframes 也需要加上前缀
@-webkit-keyframes myani {...}
@-moz-keyframes myani {...}
@-o-keyframes myani {...}
@-ms-keyframes myani {...}
keyframes myani {...}
<下面的例子没有加上兼容性>
1.幻灯片式轮播图
<!--这里的幻灯片式是以插入图片来写的,也可以写成背景图片轮播,代码会更简洁一点-->
<div id="container">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
*{margin:0;padding:0;}
#container{
width:100%;
height:100px;
position:relative;
overflow:hidden;
}
#container>:not(:first-child){
opacity:0;
}
#container>:first-child{
width:300px;
height:100px;
position:absolute;
font-weight:bold;">mediumpurple;
animation-name:shuf1;
animation-duration:20s; /*动画执行时间*/
animation-timing-function:ease-in-out; /*动画执行方法:匀速*/
animation-iteration-count:infinite; /*动画执行次数*/
}
#container>:nth-child(2){
width:300px;
height:100px;
position:absolute;
font-weight:bold;">palegreen;
animation-name:shuf2;
animation-duration:20s; /*动画执行时间*/
animation-timing-function:ease-in-out; /*动画执行方法:匀速*/
animation-iteration-count:infinite; /*动画执行次数*/
}
#container>:nth-child(3){
width:300px;
height:100px;
poaition:absolute;
font-weight:bold;">pink;
animation-name:shuf3;
animation-duration:20s; /*动画执行时间*/
animation-timing-function:ease-in-out; /*动画执行方法:匀速*/
animation-iteration-count:infinite; /*动画执行次数*/
}
#container>:nth-child(4){
width:300px;
height:100px;
poaition:absolute;
font-weight:bold;">lightskyblue;
animation-name:shuf4;
animation-duration:20s; /*动画执行时间*/
animation-timing-function:ease-in-out; /*动画执行方法:匀速*/
animation-iteration-count:infinite; /*动画执行次数*/
}
#container>:nth-child(3){
width:300px;
height:100px;
poaition:absolute;
font-weight:bold;">yellowgreen;
animation-name:shuf5;
animation-duration:20s; /*动画执行时间*/
animation-timing-function:ease-in-out; /*动画执行方法:匀速*/
animation-iteration-count:infinite; /*动画执行次数*/
}
#container>:nth-child(6){
width:300px;
height:100px;
poaition:absolute;
font-weight:bold;">darkgrey;
animation-name:shuf6;
animation-duration:20s; /*动画执行时间*/
animation-timing-function:ease-in-out; /*动画执行方法:匀速*/
animation-iteration-count:infinite; /*动画执行次数*/
}
@keyframes shuf1 {
0% {opacity: 1;}
14%,28%,42%,56%,72%,86%,100%{opacity:0.5}
}
@keyframes shuf2 {
0%,14% {opacity:0 ;}
28%{opacity:1;}
42%,56%,72%,86% ,100%{opacity:0;}
}
@keyframes shuf3 {
0%,14% ,28%{opacity: 0;}
42% {opacity:1;}
56%,72%,86% ,100%{opacity:0;}
}
@keyframes shuf4 {
0%,14% ,28%,42% {opacity: 0;}
56% {opacity:1;}
72%,86% ,100%{opacity:0;}
}
@keyframes shuf5 {
0%,14% ,28%,42%,56% {opacity: 0;}
72% {opacity:1;}
86% ,100%{opacity:0;}
}
@keyframes shuf6 {
0%,14% ,28%,42%,56%,72% {opacity: 0;}
86% {opacity:1; }
100%{opacity:0;}
}
2.水平轮播图
html代码处
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="case2.css">
</head>
<body>
<div id="main">
<div id="container">
<div></div>
<div></div>
<div></div>
</div>
</div>
</body>
</html>
css样式
*{margin:0;padding:0;}
#main{
width:1000px;
height:200px;
margin:0 auto;
border:1px solid black;
position:relative;
overflow:hidden;
}
#container{
width:3000px;
height:200px;
border:1px solid black;
position:absolute;
top:0;
animation-name:a1;
animation-duration:30s;/*设置动画播放的时间*/
animation-timing-function:linear; /*设置动画的缓动状态*/
animation-iteration-count:infinite; /*设置动画的循环次数*/
animation-direction:alternate; /* 设置动画逆向运动*/
}
#container>div{
width:1000px;
height:200px;
float:left;
}
#container>:first-child{
font-weight:bold;">#65B053;
}
#container>:nth-child(2){
font-weight:bold;">#59B7DF;
}
#container>:nth-child(3){
font-weight:bold;">#E8E25D;
}
@keyframes a1{
0%{margin-left:0;}
45%,50%{margin-left:-1000px;}/*设置每张图片的停留时间*/
95%,100%{margin-left:-2000px;}
}
CSS3——animation的基础(轮播图)的更多相关文章
- CSS3最简洁的轮播图
<!DOCTYPE html> <html> <head> <title>CSS3最简洁的轮播图</title> <style> ...
- css3实现3D切割轮播图案例
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- css3+JS实现幻灯片轮播图
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CSS3实现轮播图效果
CSS3实现轮播图主要是由css:background-position和css3:animation实现.且实现此轮播需要一张四个图横着相连的图片. 注(Internet Explorer 10.F ...
- 纯CSS3实现轮播图
前言 纯css3实现的轮播图效果,和JavaScript控制的相比,简单高效了很多,但是功能也更加单一,只有轮播不能手动切换. 用什么实现的呢?页面布局 + animation动画 HTML部分 &l ...
- 纯CSS3轮播图
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- css3实现轮播图
css3动画属性简写: animation: name duration timing-function delay iteration-count direction fill-mode ...
- 前端基础功能,原生js实现轮播图实例教程
轮播图是前端最基本.最常见的功能,不论web端还是移动端,大平台还是小网站,大多在首页都会放一个轮播图效果.本教程讲解怎么实现一个简单的轮播图效果.学习本教程之前,读者需要具备html和css技能,同 ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
随机推荐
- Tomcat的三种安装方式:解压版、安装版、配置成Windows服务版
https://blog.csdn.net/Jessica_XLF/article/details/81711429
- 微信小程序生成携带参数的小程序码
https://blog.csdn.net/qq_28988969/article/details/77969365
- C# 自制报表组件 EzReportBuild 2.0
组件无闪烁.画面流畅,效率一般,支持SQL和ACCESS两种.可以完成报表设计.预览.打印等功能,提供接口函数,可以将设计.预览等嵌入到自定的winform中调用,使用简单.每份报表可设置多页,每页可 ...
- Tcp协议细节(三次握手,四次握手)
利用滑动窗口实现流量控制(让发送方的发送速率不要太快,让接收方来得及接收) (发送窗口的发送窗口不能超过接收方给出的接收窗口的数值) 拥塞控制 拥塞:在某段时间,对网络中某一资源的需求超过了该资源所能 ...
- Day3 /2-4.10!一天水完毕设,焦虑略减,flag不能倒!
PS:毕设略水,接下来两周要找到生活规律,竹径以后抓紧深化毕设(4.16开始),周六出去玩一天吧,这就需要明天把图彻底分好!!!明天有点小期待,今天把Day3补更完,明天原本应该是Day4的,但是打算 ...
- VirtualBox CentOS7 Mini 安装增强工具
安装相关依赖 # yum install vim gcc kernel kernel-devel bzip2 -y # reboot 点击虚拟机菜单栏 => 设备 => 安装增强功能 # ...
- 每天写两个的java常见面试题—final 和static 的用法
第一次写随笔,可能写的比较乱,更多的是作为自己记忆一些知识的方式.所有记录的东西都是自己的一些理解,很多语言可能还是从其他大牛的博客里面搬过来的. 一.static的作用: static的的作用从三个 ...
- 【aardio】如何对listview中某一列,某一行的特定值进行修改?
用表格创建数组来实现. import win.ui; /*DSG{{*/ var winform = ..win.form( bottom=399;parent=...;right=599;text= ...
- .net webapi 接收 xml 格式数据的三种情况
webapi 接收 xml 的三种方法 前段时间接到一个任务写一个小接口,要接收java端返回过来的短信xml数据. 刚拿到项目,我的第一想法是对方会以什么形式发送xml格式的数据给我呢,设想三种情况 ...
- weblogic中配置数据源
Weblogic数据源配置 一.配置数据源 1.点击数据源,进入数据源配置页面,点击新建后选择一般数据源 2.输入名称和jndi名称(两个输入一样即可)后点击下一步 3.选择驱动后点击下一步 4.输入 ...