CSS动画 Bertha 。 2022-06-07 02:51 280阅读 0赞 CSS3 动画 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。 CSS3 @keyframes 规则 如需在 CSS3 中创建动画,您需要学习 @keyframes 规则。 @keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。 浏览器支持 Chrome 和 Safari 需要前缀 -webkit-。Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。 注释:Internet Explorer 9,以及更早的版本,不支持 @keyframe 规则或 animation 属性。 实例 @keyframes myfirst { from {background: red;} to {background: yellow;} } @-moz-keyframes myfirst /* Firefox */ { from {background: red;} to {background: yellow;} } @-webkit-keyframes myfirst /* Safari 和 Chrome */ { from {background: red;} to {background: yellow;} } @-o-keyframes myfirst /* Opera */ { from {background: red;} to {background: yellow;} } CSS3 动画 当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。 通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器: 规定动画的名称 规定动画的时长 实例 把 "myfirst" 动画捆绑到 div 元素,时长:5 秒: div { animation: myfirst 5s; -moz-animation: myfirst 5s; /* Firefox */ -webkit-animation: myfirst 5s; /* Safari 和 Chrome */ -o-animation: myfirst 5s; /* Opera */ }注释:您必须定义动画的名称和时长。如果忽略时长,则动画不会允许,因为默认值是 0。 什么是 CSS3 中的动画? 动画是使元素从一种样式逐渐变化为另一种样式的效果。 您可以改变任意多的样式任意多的次数。 请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。 0% 是动画的开始,100% 是动画的完成。 为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。 实例 当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变: @keyframes myfirst { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } @-moz-keyframes myfirst /* Firefox */ { 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;} } @-o-keyframes myfirst /* Opera */ { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} } 实例 改变背景色和位置: @keyframes myfirst { 0% {background: red; left:0px; top:0px;} 25% {background: yellow; left:200px; top:0px;} 50% {background: blue; left:200px; top:200px;} 75% {background: green; left:0px; top:200px;} 100% {background: red; left:0px; top:0px;} } @-moz-keyframes myfirst /* Firefox */ { 0% {background: red; left:0px; top:0px;} 25% {background: yellow; left:200px; top:0px;} 50% {background: blue; left:200px; top:200px;} 75% {background: green; left:0px; top:200px;} 100% {background: red; left:0px; top:0px;} } @-webkit-keyframes myfirst /* Safari 和 Chrome */ { 0% {background: red; left:0px; top:0px;} 25% {background: yellow; left:200px; top:0px;} 50% {background: blue; left:200px; top:200px;} 75% {background: green; left:0px; top:200px;} 100% {background: red; left:0px; top:0px;} } @-o-keyframes myfirst /* Opera */ { 0% {background: red; left:0px; top:0px;} 25% {background: yellow; left:200px; top:0px;} 50% {background: blue; left:200px; top:200px;} 75% {background: green; left:0px; top:200px;} 100% {background: red; left:0px; top:0px;} } CSS3 动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 属性 描述 CSS @keyframes 规定动画。 3 animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3 animation-name 规定 @keyframes 动画的名称。 3 animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3 animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3 animation-delay 规定动画何时开始。默认是 0。 3 animation-iteration-count 规定动画被播放的次数。默认是 1。 3 animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3 animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 3 animation-fill-mode 规定对象动画时间之外的状态。 3 下面的两个例子设置了所有动画属性: 实例 运行名为 myfirst 的动画,其中设置了所有动画属性: div { animation-name: myfirst; animation-duration: 5s; animation-timing-function: linear; animation-delay: 2s; animation-iteration-count: infinite; animation-direction: alternate; animation-play-state: running; /* Firefox: */ -moz-animation-name: myfirst; -moz-animation-duration: 5s; -moz-animation-timing-function: linear; -moz-animation-delay: 2s; -moz-animation-iteration-count: infinite; -moz-animation-direction: alternate; -moz-animation-play-state: running; /* Safari 和 Chrome: */ -webkit-animation-name: myfirst; -webkit-animation-duration: 5s; -webkit-animation-timing-function: linear; -webkit-animation-delay: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: alternate; -webkit-animation-play-state: running; /* Opera: */ -o-animation-name: myfirst; -o-animation-duration: 5s; -o-animation-timing-function: linear; -o-animation-delay: 2s; -o-animation-iteration-count: infinite; -o-animation-direction: alternate; -o-animation-play-state: running; } 实例 与上面的动画相同,但是使用了简写的动画 animation 属性: div { animation: myfirst 5s linear 2s infinite alternate; /* Firefox: */ -moz-animation: myfirst 5s linear 2s infinite alternate; /* Safari 和 Chrome: */ -webkit-animation: myfirst 5s linear 2s infinite alternate; /* Opera: */ -o-animation: myfirst 5s linear 2s infinite alternate; } 例子 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"> <title>动画</title> <style type="text/css"> /* 上面的旋转动画代码 */ /* 定义动画,动画名:animat_rotate,可以取任意名字 */ /* 使用方式:animation: run 6s linear; */ @keyframes animat_rotate { from { /* 动画刚开始,角度 */ transform: rotate(0deg); } to { /* 动画结束时,角度 */ transform: rotate(360deg); } } /* ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== */ /* 下面的宽高变化动画代码 */ /* 定义动画,动画名:animat_changeWH,可以取任意名字 */ /* 使用方式:animation: animat_changeWH 6s linear; */ @keyframes animat_changeWH { 0% { /* 动画刚开始,div的宽高 */ width: 200px; height: 200px; } 50% { /* 动画执行一半时,div的宽高 */ width: 100px; height: 400px; } 100% { /* 动画执行完毕时,div的宽高 */ width: 200px; height: 200px; } } </style> </head> <body> <!-- animat_rotate:动画名;6s:总执行时间;linear:平滑;infinite:无限重复(去了,只执行一次)--> <div style="animation: animat_rotate 6s linear infinite; width: 200px; height: 200px; margin: 64px 64px; background: url('http://file.popoho.com/wzfzl/20160706/q0rafysiogkco140510110S8-25.jpg') no-repeat;"></div> <!-- animat_changeWH:动画名;6s:总执行时间;linear:平滑;infinite:无限重复(去了,只执行一次)--> <div style="animation: animat_changeWH 6s linear infinite; width: 200px; height: 200px; margin: 64px 64px; background-color: green;"></div> </body> </html>
相关 【CSS3】CSS3 动画 ① ( CSS3 动画简介 | CSS3 动画实现步骤 | 动画定义 | 代码示例 ) 文章目录 一、CSS3 动画简介 二、CSS3 动画实现步骤 三、动画定义 四、代码示例 一、CSS3 动画简介 我不是女神ヾ/ 2023年10月14日 15:47/ 0 赞/ 182 阅读
相关 CSS动画 效果图: ![20210420183258301.gif][] 实现效果描述: 子元素相对父元素水平垂直居中并重复循环放大缩小 实现代码: <!DOCTYPE Dear 丶/ 2023年01月14日 12:58/ 0 赞/ 188 阅读
相关 css 动画 上下滑动 html <div class="kaiqi">点击开启</div> css .kaiqi { color: ffffff; 川长思鸟来/ 2022年11月05日 05:24/ 0 赞/ 166 阅读
相关 css动画 在CSS中主要通过@keyframes和animation来实现的: @keyframes制定了一个元素的css样式变化的方式,也就是通过css央视的逐步改变,让它动起来,也 怼烎@/ 2022年10月29日 13:20/ 0 赞/ 390 阅读
相关 【CSS 】动画animation 作为博主简单记录: 深入学习请查看文末参考资料 前面有提到过过渡效果[css transition][],实际上过渡效果也可以算作一种动画,这是这种动画是单次的不重复的,而且 ╰半橙微兮°/ 2022年07月13日 08:14/ 0 赞/ 300 阅读
相关 CSS动画 CSS3 动画 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。 CSS3 @keyframes Bertha 。/ 2022年06月07日 02:51/ 0 赞/ 280 阅读
相关 css动画 纯CSS3实现的8种Loading动画效果<div class="load1" > <div class="loader">加载中</div> 系统管理员/ 2022年06月05日 08:42/ 0 赞/ 235 阅读
相关 css动画 动画移动时间 animation: move 13s; 一直移动,无限循环 animation-iteration-count: infinite; 从A移动到 叁歲伎倆/ 2022年06月05日 00:53/ 0 赞/ 258 阅读
相关 CSS动画 摘自阮一峰老师的博客 [http://www.ruanyifeng.com/blog/2014/02/css\_transition\_and\_animation.html] 喜欢ヅ旅行/ 2022年05月10日 00:54/ 0 赞/ 241 阅读
相关 CSS-动画 前言 本文主要内容: 过渡:transition 2D 转换 transform(scale,translate,rotate) 冷不防/ 2022年05月03日 09:30/ 0 赞/ 241 阅读
还没有评论,来说两句吧...