>>分享Web前端开发技术,并对孙卫琴的《精通Vue.js:Web前端开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 26077 个阅读者 刷新本主题
 * 贴子主题:  CSS3 动画 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2019-08-16 16:19:25     消息  查看  搜索  好友  邮件  复制  引用


#animated_div
{

width:76px;

height:47px;

background:#92B901;

color:#ffffff;

position:relative;

font-weight:bold;

font-size:20px;

padding:10px;

animation:animated_div 5s 1;

-moz-animation:animated_div 5s 1;

-webkit-animation:animated_div 5s 1;

-o-animation:animated_div 5s 1;

border-radius:5px;

-webkit-border-radius:5px;

}

@keyframes animated_div
{

0% {transform: rotate(0deg);left:0px;}

25% {transform: rotate(20deg);left:0px;}

50% {transform: rotate(0deg);left:500px;}

55% {transform: rotate(0deg);left:500px;}

70% {transform: rotate(0deg);left:500px;background:#1ec7e6;}

100% {transform: rotate(-360deg);left:0px;}

}

@-webkit-keyframes animated_div

{

0% {-webkit-transform: rotate(0deg);left:0px;}

25% {-webkit-transform: rotate(20deg);left:0px;}

50% {-webkit-transform: rotate(0deg);left:500px;}

55% {-webkit-transform: rotate(0deg);left:500px;}

70% {-webkit-transform: rotate(0deg);left:500px;background:#1ec7e6;}

100% {-webkit-transform: rotate(-360deg);left:0px;}

}

@-moz-keyframes animated_div
{

0%   {-moz-transform: rotate(0deg);left:0px;}

25%  {-moz-transform: rotate(20deg);left:0px;}

50%  {-moz-transform: rotate(0deg);left:500px;}

55%  {-moz-transform: rotate(0deg);left:500px;}

70%  {-moz-transform: rotate(0deg);left:500px;background:#1ec7e6;}

100% {-moz-transform: rotate(-360deg);left:0px;}

}

@-o-keyframes animated_div
{

0%   {transform: rotate(0deg);left:0px;}

25%  {transform: rotate(20deg);left:0px;}

50%  {transform: rotate(0deg);left:500px;}

55%  {transform: rotate(0deg);left:500px;}

70%  {transform: rotate(0deg);left:500px;background:#1ec7e6;}

100% {transform: rotate(-360deg);left:0px;}

}

CSS3  动画

CSS3 动画

     CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的效果。        

CSS3 @keyframes 规则

     要创建 CSS3 动画,你需要了解 @keyframes 规则。

    @keyframes 规则是创建动画。

    @keyframes 规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。            

浏览器支持

     表格中的数字表示支持该属性的第一个浏览器版本号。

      紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。

      
属性
@keyframes 43.0
4.0 -webkit-
10.0 16.0
5.0 -moz-
9.0
4.0 -webkit-
30.0
15.0 -webkit-
12.0 -o-
animation 43.0
4.0 -webkit-
10.0 16.0
5.0 -moz-
9.0
4.0 -webkit-
30.0
15.0 -webkit-
12.0 -o-


                                  点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

范例

@keyframes   myfirst
{
     from   { background:   red  ; }
     to   { background:   yellow  ; }
}

@- webkit-keyframes   myfirst   /*  Safari 与 Chrome  */
{
     from   { background:   red  ; }
     to   { background:   yellow  ; }
}

CSS3 动画

     当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。

    指定至少这两个CSS3的动画属性绑定向一个选择器:    
  • 规定动画的名称
  • 规定动画的时长
                         点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

范例

     把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:


div
{
     animation:   myfirst   5 s  ;
    - webkit-animation:   myfirst   5 s  ;  /*  Safari 与 Chrome  */
}

                       注意: 您必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。            

CSS3动画是什么?

            动画是使元素从一种样式逐渐变化为另一种样式的效果。

            您可以改变任意多的样式任意多的次数。

            请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

            0% 是动画的开始,100% 是动画的完成。

            为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
                                          点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

范例

     当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:


@keyframes   myfirst
{
    0%    { background:   red  ; }
    25%   { background:   yellow  ; }
    50%   { background:   blue  ; }
    100%  { background:   green  ; }
}

@- webkit-keyframes   myfirst   /*  Safari 与 Chrome  */
{
    0%    { background:   red  ; }
    25%   { background:   yellow  ; }
    50%   { background:   blue  ; }
    100%  { background:   green  ; }
}

                                                                        点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

范例

     改变背景色和位置:


@keyframes   myfirst
{
    0%    { background:   red  ;  left: 0 px  ;  top: 0 px  ; }
    25%   { background:   yellow  ;  left: 200 px  ;  top: 0 px  ; }
    50%   { background:   blue  ;  left: 200 px  ;  top: 200 px  ; }
    75%   { background:   green  ;  left: 0 px  ;  top: 200 px  ; }
    100%  { background:   red  ;  left: 0 px  ;  top: 0 px  ; }
}

@- webkit-keyframes   myfirst   /*  Safari 与 Chrome  */
{
    0%    { background:   red  ;  left: 0 px  ;  top: 0 px  ; }
    25%   { background:   yellow  ;  left: 200 px  ;  top: 0 px  ; }
    50%   { background:   blue  ;  left: 200 px  ;  top: 200 px  ; }
    75%   { background:   green  ;  left: 0 px  ;  top: 200 px  ; }
    100%  { background:   red  ;  left: 0 px  ;  top: 0 px  ; }
}

CSS3的动画属性

      下面的表格列出了 @keyframes 规则和所有动画属性:

            
属性 描述 CSS
@keyframes[/url] 规定动画。 3
animation[/url] 所有动画属性的简写属性,除了 animation-play-state 属性。 3
animation-name[/url] 规定 @keyframes 动画的名称。 3
animation-duration[/url] 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
animation-timing-function[/url] 规定动画的速度曲线。默认是 "ease"。 3
animation-fill-mode[/url] 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。 3
animation-delay[/url] 规定动画何时开始。默认是 0。 3
animation-iteration-count[/url] 规定动画被播放的次数。默认是 1。 3
animation-direction[/url] 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
animation-play-state[/url] 规定动画是否正在运行或暂停。默认是 "running"。 3


     下面两个例子设置所有动画属性:

                                     点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

范例

     运行myfirst动画,设置所有的属性:


div
{
     animation-name:   myfirst  ;
     animation-duration:   5 s  ;
     animation-timing-function:   linear  ;
     animation-delay:   2 s  ;
     animation-iteration-count:   infinite  ;
     animation-direction:   alternate  ;
     animation-play-state:   running  ;
     /*  Safari 与 Chrome:  */
    - webkit-animation-name:   myfirst  ;
    - webkit-animation-duration:   5 s  ;
    - webkit-animation-timing-function:   linear  ;
    - webkit-animation-delay:   2 s  ;
    - webkit-animation-iteration-count:   infinite  ;
    - webkit-animation-direction:   alternate  ;
    - webkit-animation-play-state:   running  ;
}

                                                             点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

范例

     与上面的动画相同,但是使用了简写的动画 animation 属性:


div
{
     animation:   myfirst   5 s   linear   2 s   infinite   alternate  ;
     /*  Safari 与 Chrome:  */
    - webkit-animation:   myfirst   5 s   linear   2 s   infinite   alternate  ;
}

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-16 11:41:16 重新编辑]
  Java面向对象编程-->Swing组件(下)
  JavaWeb开发-->JSP中使用JavaBean(Ⅱ)
  JSP与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->通过JavaMail API收发邮件
  精通Spring-->Vue组件开发高级技术
  Vue3开发-->计算属性和数据监听
  Webpack 插件开发指南
  勇闯28个关卡学会HTML与HTML5基础
  Vue自定义数据验证指令
  js判断上传图片大小及尺寸
  vue中监听object数据变化的基本原理
  Vue经典面试题: Vue.use和Vue.prototype.$xx有血缘关系吗? -
  JS 循环删除数组
  vue封装翻转卡片效果
  Vue. 入门篇
  jQuery 获取并设置 CSS 类
  JavaScript的HTML DOM MenuItem 对象
  CSS 伪类
  JavaScript的window.screen对象
  JavaScript prototype(原型对象)
  jQuery Mobile 安装
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。