CSS3动画属性 animation详解(看完就会)

简介: CSS3动画属性 animation详解(看完就会)

keyframes

用 keyframes定义动画,写上动画要执行的内容, (类似类选择器)

@keyframes a {
            0% {
                width: 300px;
            }
            100% {
                width: 600px;
            }
        }

image.gif

这就是定义了一个动画变量名,从0%到100%也就是从开始到结束,也可以用from,to来表示,

@keyframes a {
            from {
                width: 300px;
            }
            to {
                width: 600px;
            }
        }

image.gif

里面写属性变化的值,不止可以分两个段也可以进行多段分割

@keyframes a {
            0% {
                width: 300px;
            }
            50% {
                width: 800px;
            }
            100% {
                width: 300px;
            }
        }

image.gif

,用百分数进行分割。

动画相关的值

@keyframes 规定动画

animation-name 规定 @keyframes 动画的名称(必须的)

animation-duration 规定动画完成一个周期所花费的秒或毫秒,默认是 0(必须的)

animation-timingfunction  规定动画的速度曲线,默认是“ease”

animation-delay 规定动画何时开始,默认是 0

animation-iteration-count 规定动画被播放的次数,默认是 1,还有 infinite

animation-direction 规定动画是否在下一周期逆向播放,默认是 "normal", alternate 逆播放

animation-play-state 规定动画是否正在运行或暂停。默认是 "running", 还有 "paused"

animation 所有动画属性的简写属性,除了animation-play-state 属性

animation-name animation-duration

<style>
        @keyframes a {
            0% {
                width: 300px;
            }
            50% {
                width: 800px;
            }
            100% {
                width: 300px;
            }
        }
        div {
            animation-name: a;
            animation-duration: 2s;
        }
    </style>
    <script>
    </script>
</head>
<body>
    <div style='background-Color:red;width: 300px;height:300px ;'></div>
</body>

image.gif

image.gif编辑

刷新之后就自动触发动画,执行的动画变量名是a,两秒内完成动画,也就是从0%到100%两秒内完成。

animation-timing-function animation-delay

linear

动画从头到尾的速度是相同的。

ease

默认。动画以低速开始,然后加快,在结束前变慢。

ease-in

动画以低速开始。

ease-out

动画以低速结束。

ease-in-out

动画以低速开始和结束。

cubic-bezier(n,n,n,n)

在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值

@keyframes a {
            0% {
                width: 300px;
            }
            50% {
                width: 800px;
            }
            100% {
                width: 300px;
            }
        }
        div {
            animation-name: a;
            animation-duration: 5s;
            animation-timing-function: ease-in-out;
            animation-delay: 2s;
        }

image.gif

image.gif编辑

animation-timing-function 动画开始和结束慢速

animation-delay 动画延迟两秒开始。

animation-iteration-count   animation-play-state

@keyframes a {
            0% {
                width: 300px;
            }
            50% {
                width: 800px;
            }
            100% {
                width: 300px;
            }
        }
        div {
            animation-name: a;
            animation-duration: 5s;
            animation-timing-function: ease-in-out;
            animation-delay: 2s;
            animation-iteration-count: infinite;
        }
        div:hover {
            animation-play-state: paused;
        }

image.gif

image.gif编辑

animation-iteration-count  循环次数,infinite重复循环

animation-play-state paused 停止动画  当鼠标移入动画停止

animation-direction  animation-fill-mode

animation-direction

normal 默认值。动画按正常播放。
reverse 动画反向播放。
alternate 动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。
alternate-reverse 动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放。
initial 设置该属性为它的默认值。请参阅 initial
inherit 从父元素继承该属性。请参阅 inherit
@keyframes a {
            0% {
                width: 300px;
            }
            50% {
                width: 500px;
            }
            100% {
                width: 800px;
            }
        }
        div {
            animation-name: a;
            animation-duration: 5s;
            animation-timing-function: ease-in-out;
            animation-delay: 2s;
            animation-iteration-count: infinite;
            /* animation-fill-mode: forwards; */
            animation-direction: alternate;
        }
        div:hover {
            animation-play-state: paused;
        }

image.gif

image.gif编辑

animation-iteration-count:infinite  重复循环  animation-direction:alternate 在偶数次反向播放

就形成了  长度 一直来回变化的效果

animation-fill-mode  

保持 最终状态 forwards 原位置 backwards

image.gif

image.gif编辑

 animation-fill-mode: forwards  宽度到达800后 停止动画 保持在动画执行完毕的状态 不会恢复

animation

直接写出所有的相关动画属性(简写),除了animation-play-state 属性。

animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束的状态。

 

@keyframes a {
            0% {
                width: 300px;
            }
            50% {
                width: 500px;
            }
            100% {
                width: 800px;
            }
        }
        div {
            animation: a 5s ease-in-out 2s infinite alternate;
        }
        div:hover {
            animation-play-state: paused;
        }

image.gif

image.gif编辑

 

相关文章
|
2月前
纯css3实现的百分比渐变进度条加载动画源码
纯css3实现的百分比渐变进度条加载动画特效源码
59 31
|
26天前
|
Web App开发 移动开发 JavaScript
纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码
这是一款基于纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码。画面中左下角是一个圆锥形礼炮卡通效果,呈现出节日庆祝时礼花爆破、五彩纸屑纷飞的动画特效。整体动画效果采用纯css3+svg实现,没有引入任何外部图形或js脚本元素。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
41 6
|
2月前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
68 7
|
2月前
CSS3制作的聚光灯下倒影文字选装动画特效源码
CSS3聚光灯下倒影文字特效是一段基于CSS3实现的聚光灯下带倒影的文字旋转动画效果代码,具有真实的视觉感,同时文字还会在旋转过程中显示出灯光的反射效果,很有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
33 6
|
2月前
纯css3加载loading发光变色动画代码
纯css3加载loading发光变色动画特效代码是一款基于css3 keyframes属性实现的发光变色圆点串联旋转loading加载动画
25 2
|
2月前
|
Web App开发 前端开发 iOS开发
CSS加载动画大全 126种
CSS加载动画大全是一个css Loaders加载动画特效汇总,一共包含126种加载动画效果,不同样式不同图案,简单实用,一览包含所有,会让你在等待的过程中,体验视觉盛宴,给用户不一般的加载体验,欢迎下载试试!代码适用浏览器:搜狗、360、FireFox(建议)、Chrome、Safari、Opera、傲游、世界之窗,是一款不错的的特效插件,希望大家喜欢!
30 2
|
2月前
|
前端开发
CSS 浮动属性讲解和使用
本文介绍了CSS中的浮动(float)属性,包括其基本功能、属性选项及其在网页布局中的应用。浮动使元素脱离文档流,向左或右排列,周围元素随之调整。文章还详细讲解了清除浮动的方法,如使用clear属性、设置父元素高度、利用overflow属性、伪元素等,以解决因浮动导致的布局问题。最后,强调了浮动在创建复杂布局时的作用,并预告后续内容。
39 2
|
2月前
|
前端开发
CSS transition过渡属性详解
本文介绍了CSS中`transition`属性的作用、用法及实例。`transition`用于在元素属性变化时添加平滑过渡动画,通过设置`transition-property`、`transition-duration`、`transition-timing-function`和`transition-delay`等属性值,可以精细控制过渡效果。文末提供了HTML示例代码,展示了如何使用`transition`实现鼠标悬停时背景颜色的平滑变化。
72 1
|
8月前
|
前端开发 JavaScript
前端 css 经典:transition 过渡和 animation 动画
前端 css 经典:transition 过渡和 animation 动画
105 2
CSS3 animation 全屏图片切换动画
CSS3 animation 全屏图片切换动画
61 0

热门文章

最新文章