CSS3过渡与动画

一、CSS3 过渡

  • transition-property

   规定过渡效果的 CSS 属性名

   -webkit-transition-property: none / all / property;
      -moz-transition-property: none / all / property;
       -ms-transition-property: none / all / property;
        -o-transition-property: none / all / property;
           transition-property: none / all / property;
/*参数说明
- none
- all,默认值
- property(CSS属性名) 例如color、opacity...*/
  • transition-duration

   规定完成过渡效果需要多少时间

transition-duration: time;
/*参数说明
- 规定完成过渡效果需要花费的时间(以秒或毫秒计)
- 默认值是 0*/
  • transition-timing-function

   规定速度效果的速度曲线

transition-timing-function: ease / linear / ease-in / ease-out / ease-in-out
                            step-start / step-end / steps(<integer>, [ start / end ])
                            cubic-bezier(<number>, <number>, <number>, <number>);
/*参数说明
− linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
− ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
− ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
− ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)

− ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)(最佳效果)

− step-start:等同于 steps(1, start)
− step-end:等同于 steps(1, end)
− steps(<integer>[, [ start | end ] ]?):接受两个参数的步进函数
                                         第一个参数:必须为正整数,指定函数的步数
                                         第二个参数:取值可是start或end,指定每一步的值发生变化的时间点
                                         第二个参数:可选,默认值为end
− cubic-bezier(<number>, <number>, <number>, <number>):
  特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内*/
  • transition-delay

   定义过渡效果何时开始

transition-delay: time;
/*参数说明
- 指定秒或毫秒数之前要等待切换效果开始
- 默认值是 0*/
  • transition复合写法

transition: property duration timing-function delay;
  • 实际应用

div
{
    width:100px;
    height:75px;
    background:#0b2632;
    transition-property:width;
    transition-duration:1s;
    transition-timing-function:ease-in-out;
    transition-delay:0.5s;
    /* Safari */
    -webkit-transition-property:width;
    -webkit-transition-duration:1s;
    -webkit-transition-timing-function:ease-in-out;
    -webkit-transition-delay:0.5s;
}

div:hover
{
    width:200px;
}

二、CSS3 动画

  • Keyframes

   关键帧,可以指定任何顺序排列来决定Animation动画变化的关键位置

@keyframes animationname {
   keyframes-selector {
       css-styles;
   }
}

/*参数说明
 animationname:必写项,定义animation的名称
 keyframes-selector:必写项,动画持续时间的百分比,0-100%、from (0%)、to (100%)
 css-styles:必写项,一个或多个合法的CSS样式属性
 @keyframes animationname在style中单独写入
*/
  • animation-name

   规定需要绑定到选择器的 keyframe 名称

animation-name: keyframename / none;

/*参数说明
 keyframename:指定要绑定到选择器的关键帧的名称;
 none:指定有没有动画(可用于覆盖从级联的动画)
*/
  • animation-duration

   规定完成动画所花费的时间,以秒或毫秒计

animation-duration: time;

/*参数说明
 time指定动画播放完成花费的时间。默认值为 0,意味着没有动画效果
*/
  • animation-timing-function

   规定动画的速度曲线

animation-timing-function: ease / linear / ease-in / ease-out / ease-in-out
                            step-start / step-end / steps(<integer>, [ start / end ])
                            cubic-bezier(<number>, <number>, <number>, <number>);
/*参数说明
− linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
− ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
− ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
− ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)

− ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)(最佳效果)

− step-start:等同于 steps(1, start)
− step-end:等同于 steps(1, end)
− steps(<integer>[, [ start | end ] ]?):接受两个参数的步进函数
                                         第一个参数:必须为正整数,指定函数的步数
                                         第二个参数:取值可是start或end,指定每一步的值发生变化的时间点
                                         第二个参数:可选,默认值为end
− cubic-bezier(<number>, <number>, <number>, <number>):
  特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内*/
  • animation-delay

   规定在动画开始之前的延迟

animation-delay: time;

/*参数说明
 可选。定义动画开始前等待的时间,以秒或毫秒计。默认值为0
 如果值为负,则动画马上开始,但会跳过相应的时间进入动画
*/
  • animation-iteration-count

   规定动画应该播放的次数

animation-iteration-count: infinite / <number>;

/*参数说明
 <number>为数字,其默认值为“1”;infinite为无限次数循环
*/
  • animation-direction

   规定是否应该轮流反向播放动画

animation-direction: normal / reverse / alternate / alternate-reverse / initial / inherit;

/*参数说明
 normal:正常方向
 reverse:反方向运行
 alternate:先正后反,并持续交替运行(需依赖infinite)
 alternate-reverse:先反后正,并持续交替运行(需依赖infinite)
*/
  • animation-fill-mode

   规定当动画完成或当动画有延迟未开始播放时,要应用到元素的样式

animation-fill-mode: none / forwards / backwards / both / initial / inherit;

/*参数说明
 none:默认值。不设置对象动画之外的状态
 forwards:设置对象状态为动画结束时的状态
 backwards:设置对象状态为动画开始时的状态
 both:设置对象状态为动画结束或开始的状态
*/
  • animation-play-state

   规定动画运行或暂停

animation-play-state: paused / running;

/*参数说明
 paused:指定暂停动画
 running:默认值,指定正在运行的动画
*/
  • animation

   复合写法

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

/*参数说明
 默认写在前面的时间为duration
*/
  • will-change

   增强页面渲染性能,提前通知浏览器元素将要做什么动画,让浏览器提前准备合适的优化设置

will-change: auto / scroll-position / contents / <custom-ident> / <animateable-feature>;

/*参数说明
 auto:此关键字表示没有特定的意图,适用于它通常所做的任何启发式和优化
 scroll-position:表示将要改变元素的滚动位置
 contents:表示将要改变元素的内容
 <custom-ident>:明确指定将要改变的属性与给定的名称
 <animateable-feature>:可动画的一些特征值,比如left、top、margin等
*/

兼容性:IE13+、FireFox47+、Chrome49+、Safari9.1+、Opera39+、IOS9.3+、Android52+
  • 实际应用

div
{
    width:100px;
    height:100px;
    background:black;
}

div:hover
{
            animation:myfirst 5s;
         -o-animation:myfirst 5s; /* Opera */
       -moz-animation:myfirst 5s; /* Firefox */
    -webkit-animation:myfirst 5s; /* Safari and Chrome */
}

@keyframes myfirst
{
    0%   {background:black;}
    25%  {background:blue;}
    50%  {background:red;}
    100% {background:white;}
}

@-moz-keyframes myfirst /* Firefox */
{
    0%   {background:red;}
    25%  {background:yellow;}
    50%  {background:blue;}
    100% {background:green;}
}

@-webkit-keyframes myfirst /* Safari and 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;}
}

原文地址:https://www.cnblogs.com/Leophen/p/11129741.html

时间: 2024-11-05 11:31:52

CSS3过渡与动画的相关文章

css3过渡和动画

一.CSS3过渡:(浏览器要加前缀,一般要配合hover使用,transition) 通过 CSS3,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果.1.要实现过渡,必须规定两项内容: 规定您希望把效果添加到哪个 CSS 属性上 . 规定效果的时长(以秒为单位) .2.transition-property 属性 规定应用过渡效果的 CSS 属性的名称,有height.width等.3.transition-duration

css3 -- 过渡与动画

1.注意使用前缀 2.属性: transition-property:none/all/属性 3.持续时间: transition-duration:默认值是0,即使是负值,按照0进行处理 4.transition-timing-function:ease(默认值)  /   linear    /   ease-in    /   ease-out   /   ease-in-out 5.延迟: transition-delay:默认值是0 6.简写: 1 E{ 2 transition:tr

css3 过渡和动画

过渡 transition 1.过渡的定义和使用 在没有过渡属性的时候,当一个元素的属性值发生变化时,浏览器就会将个这个元素瞬间渲染成新属性值的样式.例如一个定位元素top:0,动态修改成top:100px,这个元素就瞬间跑到100px的位置,有时候我们为了达到某种视觉效果,希望它以动画的形式在一定的时间内,从旧的样式转变成新的样式,而这个过程就是过渡.过渡其实就是一个简单的动画效果 transition是简写之后的属性名,它其实是4个属性合并而成的,按顺序依次是: transition-pro

CSS3学习(CSS3过渡、CSS3动画)

CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加过渡效果.我们仅仅使用到了一个transition属性,专门来写过渡从一个样式到另一个样式过渡时所花费的时间,以秒为单位.若时长不规定,默认为0,即没有过渡时间.在使用这个过渡效果的时候,我们使用了类似于超链接的l(link).v(visited).h(hover).a(active)样式的控制.此

CSS3过渡、变形和动画

1.CSS3过渡 所谓CSS3过渡,就是使用CSS3让元素从一种状态慢慢转换到另一种状态.如鼠标的悬停状态就是一种过渡.如下例子: #content a{     text-decoration: none;     font:2.25em;     background-color: #b01c20;     text-transform: uppercase;     border-radius: 8px;     color: #fff;     padding:30px;     flo

jQuery+CSS3过渡动画模态窗口特效

在线预览   源码下载 jQuery+CSS3过渡动画模态窗口特效是一款基于Codrops的ModalWindowEffects来制作,通过jQuery插件的方式来统一管理各种打开模态窗口的效果.适用浏览器:360.FireFox.Chrome.Opera.傲游.搜狗.世界之窗. 不支持Safari.IE8及以下浏览器. 加入前端爱好者QQ群(123235875) 点击加群,共同交流进度!

CSS3 常用属性(四)-- 过渡、动画

过渡--transition 过渡这个属性的作用是当元素的样式发生变化时,使用动画的效果进行变化.有了过渡属性后,很多情况下,写一些简单效果,将不需要再借助 javascript 去计算. transition  过渡属性简写,可以设置四个值 transition-property 过渡的CSS的名字,或是all transition-duration  从一个状态到另一个状态的的时间 transition-timing-function 过渡效果的动画曲线,默认easy,linear是匀速,c

从零开始学习前端开发 — 15、CSS3变形基础过渡、动画

一.css3过渡 语法: transition: 过渡属性 过渡时间 延迟时间 过渡方式; 1.过渡属性(transition-property) 取值:all 所有发生变化的css属性都添加过渡 eg: transition: all 1s; ident 指定要过渡的css属性列表 eg: transition:border-radius 1s,background 2s; none 没有属性发生过渡 注:我们可以省略滑过状态或其他状态的过渡属性,但是不能省略初始状态的transition属性

重新想,重新看——CSS3变形,过渡与动画③

这一篇主要谈谈CSS3的过渡属性. 过渡属性被设计的十分通俗易懂,属性写法为transition,有四个子属性: <transition-property> 表示需要过渡的属性[必须](本质上,transition对元素的该属性上加了一个监听器,一旦发现属性值变动,则开启'过渡'开关,令该属性的值开始过渡.)其下的值有以下三种类型: none all 表示该元素所有可过渡属性均监听: <single-transition-property> 所需监听的单个属性(如需监听多个属性则需