css动画代码大全 网站css代码
很多朋友对于css动画代码大全和网站css代码不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
css如何实现无限轮播图动画(代码示例)
本篇文章给大家带来的内容是如何实现自动无限播放的轮播图动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
在之前的文章【css如何实现图片的旋转展示效果】中介绍了手动无限轮播图的制作,本篇我们来看看自动无限轮播图动画的制作。下面我们就来看看动画效果是如何实现的。
1、设置动画的舞台
HTML与之前文章里的示例非常相似。我们要有一个动画发生的舞台(#stage),一个将会旋转的div容器和一系列图像:
<div id="stage">
<div id="rotator" style="-webkit-animation-name: rotator;">
<a rel="external nofollow" href="1.jpg"><img src="1.jpg" width="140"></a>
<a rel="external nofollow" href="2.jpg"><img src="2.jpg" width="140"></a>
<a rel="external nofollow" href="3.jpg"><img src="3.jpg" width="140"></a>
<a rel="external nofollow" href="4.jpg"><img src="4.jpg" width="140"></a>
<a rel="external nofollow" href="5.jpg"><img src="5.jpg" width="140"></a>
<a rel="external nofollow" href="6.jpg"><img src="6.jpg" width="140"></a>
<a rel="external nofollow" href="7.jpg"><img src="7.jpg" width="140"></a>
<a rel="external nofollow" href="8.jpg"><img src="8.jpg" width="140"></a>
</div>
</div>内联样式属性引用下面的动画@keyframes。它需要内联而不是CSS,以便我们能够使用JavaScript停止和重新启动动画。
2、在3D空间中布置照片
CSS样式用于定位多张照片,首先围绕y轴旋转它们(垂直向上翻页),然后径向向外平移:
#stage{
margin: 2em auto 1em 50%;
height: 140px;
-webkit-perspective: 1200px;
-webkit-perspective-origin: 0 50%;
}
#rotator a{
position: absolute;
left:-81px;
}
#rotator a img{
padding: 10px;
border: 1px solid#ccc;
background:#fff;
-webkit-backface-visibility: hidden;
}
#rotator a:nth-of-type(1) img{
-webkit-transform: rotateY(-90deg) translateZ(300px);
}
#rotator a:nth-of-type(2) img{
-webkit-transform: rotateY(-60deg) translateZ(300px);
}
#rotator a:nth-of-type(3) img{
-webkit-transform: rotateY(-30deg) translateZ(300px);
}
#rotator a:nth-of-type(4) img{
-webkit-transform: translateZ(300px);
background:#000;
}
#rotator a:nth-of-type(5) img{
-webkit-transform: rotateY(30deg) translateZ(300px);
}
#rotator a:nth-of-type(6) img{
-webkit-transform: rotateY(60deg) translateZ(300px);
}
#rotator a:nth-of-type(n+7){ display: none;}照片设置-81px的值代表向左移动,使前向照片在旋转轴上居中。距离是图像宽度的一半(140px/ 2)加上LHS图像填充(10px)和边框(1px)。
该阶段需要设置立体的动画,舞台从页面的中心开始,因此旋转元素下的锚元素需要向后移动以使动画居中。
我们只开始准备六张照片,左边三张,中间一张,右边两张。最左侧的照片(位置1)从左侧开始,因此仅在第一次旋转后才可见。
当照片旋转时,它会消失(显示:无),并且新照片会附加到左侧,准备从位置1旋转。在7和更高的位置可以有任意数量的照片。只有当它们移动到可见位置时,它们才会出现。
甚至可以在动画进行时使用Ajax加载新照片。
3、添加动画效果
正如我们之前尝试的那样,不是将照片轮旋转整整360度,而是我们实际做的只是旋转30度(足以从一张照片到下一张照片):
@-webkit-keyframes rotator{
from{-webkit-transform: rotateY(0deg);}
to{-webkit-transform: rotateY(30deg);}
}
#rotator{
-webkit-transform-origin: 0 0;
-webkit-transform-style: preserve-3d;
-webkit-animation-timing-function: cubic-bezier(1, 0.2, 0.2, 1);
-webkit-animation-duration: 1s;
-webkit-animation-delay: 1s;
}
#rotator:hover{
-webkit-animation-play-state: paused;
}要使关键帧在其他浏览器中工作,请复制所有样式,替换-webkit- with-moz-和-ms-,如下面的示例代码块所示。
动画完成后,它会触发一个JavaScript事件,您可以在下一节中阅读该事件。事件处理程序沿着照片移动,以便在动画重置时,而不是回到初始状态,照片都围绕圆圈移动了一步。
为了更清楚地了解正在发生的事情,中心照片已在下面的演示中突出显示。在动画发生时,您将看到突出显示的节点旋转,然后重置回起始位置,但包含不同的照片。
4、 JavaScript添加动画控制器
我们在此示例中需要JavaScript来检测动画何时结束,以便协调通过车轮重置移动的照片。没有这个,轮子只会在前两张照片之间交替出现。
document.addEventListener("DOMContentLoaded", function(){
var rotateComplete= function(){
target.style.webkitAnimationName="";
target.insertBefore(arr[arr.length-1], arr[0]);
setTimeout(function(el){
el.style.webkitAnimationName="rotator";
}, 0, target);
};
var target= document.getElementById("rotator");
var arr= target.getElementsByTagName("a");
target.addEventListener("webkitAnimationEnd", rotateComplete, false);
}, false);对于每个WebKit样式和其他引用,存在Firefox(-moz-或Moz),Opera(-o-或O),甚至Internet Explorer(-ms-或ms)的替代品-我们必须忍受的混乱直到标准最终确定。
要在Safari,Chrome,Firefox,Opera和Internet Explorer 10中使用此功能,我们需要包含以下额外的设置:
var rotateComplete= function(){
with(target.style){
webkitAnimationName= MozAnimationName= msAnimationName="";
}
target.insertBefore(arr[arr.length-1], arr[0]);
setTimeout(function(el){
with(el.style){
webkitAnimationName= MozAnimationName= msAnimationName="rotator";
}
}, 0, target);
};
var target= document.getElementById("rotator");
var arr= target.getElementsByTagName("a");
target.addEventListener("webkitAnimationEnd", rotateComplete, false);
target.addEventListener("animationend", rotateComplete, false);
target.addEventListener("MSAnimationEnd", rotateComplete, false);目前尚不清楚为何需要setTimeout。我们不需要它来设置延迟,因为使用CSS完成,但没有setTimeout(甚至0ms)动画无法重新触发。
5、效果展示
这只是横向的轮播,在之后的文章【css实现三面立体旋转无限轮播图动画】里会在本篇文章的基础上改进轮播方式,制作不一样的的轮播图动画。
如何使用css3实现图片的自动轮播特效(附完整代码)
本文在介绍如何使用css3实现图片的轮播特效的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。
大家在浏览网页的过程中,会遇见一种名叫图片轮播的特殊效果:在同样的位置不同的图片会根据时间的变化循环播放,达到一种类似于播放幻灯片的效果。那么我们在网页开发的过程中如何实现图片的轮播特效呢?本文将向大家展示一下如何使用css3实现图片的轮播特效。
使用css3实现轮播特效的主体思想
我们会在同样的位置准备好多个大小相同的图片,并且横放在div容器内,然后在div容器之上设置一个展示容器,其中展示容器的大小和图片大小相同,最后给图片容器添加自定义动画,并且在动画不同阶段设置递增的偏移值。
注意
动画效果分为两部分:切换和停留。
动画的偏移值和图片大小相关。
使用css3实现轮播特效的原理
首先必须保证展示容器大小与图片大小相同,再为图片添加float效果,然后确定插入的图片数量并且为每个图片设置动画阶段,其中每个阶段都是通过使用keyframes设置递增的margin-left值达到切换的效果。
使用css3实现图片轮播特效的步骤(代码)
步骤一:使用HTML添加图片
<div id="container">
<div id="photo">
<img src="1.png"/>
<img src="2.png"/>
<img src="3.png"/>
</div>
</div>步骤二:使用css3设置动画阶段
#container{
width: 400px;
height: 300px;
overflow: hidden;
}
#photo{
width: 1200px;
animation: switch 5s ease-out infinite;
}
#photo> img{
float: left;
width: 400px;
height: 300px;
}
@keyframes switch{
0%, 25%{
margin-left: 0;
}
35%, 60%{
margin-left:-400px;
}
70%, 100%{
margin-left:-800px;
}
}实现图片轮播的效果图
更多炫酷CSS3、javascript特效代码,尽在:js特效大全
css 添加板块背景图片
跟我一起玩百度空间CSS教程+090+(从"零"开始学玩百度空间)
谭诚工作室:
1.让你看懂css各个参数
2.百度空间CSS使用说明
3.怎样编写CSS的!
4.CSS代码解密
5.一个CSS的漏洞
6.增加自定义模块功能
7.更换主体及文章的背景
8.透明flash代码
9.百度空间十大宝藏
10.制作个性化的标题栏
11.看到更多的百度空间
12.百度空间的8个优缺点
13.专栏分割线的代码修改
14.添加自己的LOGO图片
15.宣传百度空间的方法
16.添加多首背景音乐
17.设置透明背景图
18.更改空间的鼠标样式
19.在空间里加入滚动条
20.透明的背景音乐的播放器
21.透明个性化滚动条
22.给链接添加背景色效果代码
23.显示"点击给你发消息"怎么在空间做!
24.去掉文章题目下划线
25.常用插入图片位置的代码
26.如何隐藏播放器而不影响音乐播放
27.如何有字体阴影
28.自制闪字空间名称
29.解决回车换两行的问题
30.调整一下行距
31.让空间拥有精美flash背景
32.让空间自动弹出对话框!
33.修改blog显示的文字颜色大小
34.如何让你的浏览器滚动条变色
35.为评论和链接加上图片
36.如何在"其它"下面加上图片
37.百度空间的名称如何用艺术字?
38.百度空间文字发光的方法
39.文字快速插链接
40.空间模块巧移动
41.个性化你的IP显示,自定义颜色
42.全透明
43.空间背景半透明
44.如何在百度空间的文章标题周围加花边图案?
45.关于百度空间照片大小限制的问题!!!
46.如何在百度空间发表文章时插入FLESH动画?
47.怎样换百度空间的背景
48.做分割线的方法
49.在百度空间里面添加自己的特效
50.在文章中快速插入图片
51.添加计数器的两种方法
52.如何在空间顶部加入图片
53.发表评论框的图片
54.改变空间主页名称和简介的字体大小
55.给超链接添加按钮效果
56.如何给评论框添加背景
57.Iframe用法的详细讲解
58.背景图片素材01
59.图片素材20060929
60.我的自定义设计
61.CSS鼠标样式大全
62.跟我一起玩百度空间的音乐和视频+
63.为<好友列表>增加一个滚动条
64.空间模块巧移动+文字快速插链接
65.怎么去掉百度空间里模块的框框!
66.基本颜色代码+
67.在你的空间中加入幽默元素..
68.百度空间吧[精品]贴+
69.如何在博客上---中--下加入图片(时钟)
72.教你10个你未必知道的CSS技巧!
73.用CSS进行百度空间样式设计!
74.百度空间自动友情链接
75.一起玩百度空间帮助
76.一起玩百度空间榜单
77.点对点宣传百度空间
78.百度空间常见27+问题
79.怎样让百度、Google搜到你的博客
80.如何加上一个个性时间网页上?
81.教你怎样让背景自动更新,包括头背景
82.在 CSS中关于字体处理效果的思考
83.如何置顶文章及美化自定意模块!
84.如何美化页眉部分
85.更换背景及滚动轴颜色和空间半透代码
86.如何设置标题.简介及文章字体为光晕字
87.用CSS来控制网页背景
88.CSS产生的特殊效果
89.用Css控制IE5.5浏览器中滚动条
90.css语法(百度空间)
OK,关于css动画代码大全和网站css代码的内容到此结束了,希望对大家有所帮助。