CSS3学习系列之动画

  • Transitions功能使用方法

在css3中,transitions功能通过将元素的某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画功能,可通过transitions属性来使用transitions功能。

transitions属性的使用方法如下所示:

transitions:property durantion timing-function

其中property表示对哪个属性进行平滑过渡,duration表示在多长时间内完成属性值的平滑过渡,timing-function表示通过什么方法来进行平滑过渡。例子如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Transitions功能的使用示例</title>
    <style>
      div{
          background-color: #ffff00;
          -webkit-transition: background-color 1s linear;
          -moz-transition: background-color 1s linear;
          -o-transition: background-color 1s linear;
      }
        div:hover{
            background-color: #00ffff;
        }
    </style>
</head>
<body>
<div>示例文字</div>
</body>
</html>

在CSS3中,还有另外一种使用transitions功能的方法,就是将transitions属性中的三个参数改写成transition-property属性、transition-duration属性、transition-timing-function属性,这三个属性的含义及属性值的指定方法与transitions属性中的三个参数的含义及指定方法完全相同。

  • 使用transitions功能同时对多个属性值进行平滑过渡多个属性值

可以使用transitions功能同时对多个属性值进行平滑过渡,例子如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>使用transitions功能实现多个属性的平滑过渡</title>

    <style>

        div {

            background-color: #ffff00;

            color: #000000;

            width: 300px;

            -webkit-transition: background-color 1s linear, color 1s linear, width 1s linear;

            -moz-transition: background-color 1s linear, color 1s linear, width 1s linear;

            -o-transition: background-color 1s linear, color 1s linear, width 1s linear;

        }

        div:hover {

            background-color: #003366;

            color: #ffffff;

            width: 400px

        }

    </style>

</head>

<body>

<div>示例文字</div>

</body>

</html>
  • Animations功能的使用方法

Animations功能与transitions功能相同,都是通过改变元素的属性值来实现动画效果的,它们的区别在于:使用transitions功能时只能通过指定属性的开始值与结束值,然后在这两个属性值之间进行平滑过渡的方式来实现动画效果,因此不能实现比较复杂的动画效果;例子如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>animations功能的使用示例</title>

    <style>

        div {

            background-color: red;

        }

        @-webkit-keyframes mycolor {

            0% {

                background-color: red;

            }

            40% {

                background-color: darkblue;

            }

            70% {

                background-color: yellow;

            }

            100% {

                background-color: red;

            }

        }

        div:hover{

            -webkit-animation-name:mycolor;

            -webkit-animations-duration:5s;

            -webkit-animation-timing-function: linear;

            animation-name:mycolor;

            animation-duration: 5s;

            animation-timing-function: linear;

        }

    </style>

</head>

<body>

<div>示例文字</div>

</body>

</html>
  • 实现多个属性值同时改变的动画
<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>让多个属性同时变化</title>

    <style>

       div{

           position: absolute;

           background-color:yellow;

           top: 100px;

           width: 500px;

       }

        @keyframes mycolor {

            0%{

                background-color: red;

                transform: rotate(0deg);

            }

            40%{

                background-color: darkblue;

                transform: rotate(30deg);

            }

            70%{

                background-color: yellow;

                transform: rotate(-30deg);

            }

            100%{

                background-color: red;

                transform: rotate(0deg);

            }

        }

        div:hover{

            animation-name:mycolor;

            animation-duration: 5s;

            animation-timing-function: linear;

        }

    </style>

</head>

<body>

<div>示例文字</div>

</body>

</html>

可以通过animation-iteration-count属性来指定动画的播放次数,也可以通过对该属性指定infinite属性值让动画不停地循环播放。

  • 实现动画的方法

Animations功能中实现动画的方法:

linear 在动画开始时到结束时以同样的速度进行改变

ease-in 动画开始时速度很慢,然后速度沿曲线值进行加快

ease-out 动画开始时速度很快,然后速度沿曲线值进行放慢

ease   动画开始时速度很慢,然后速度沿曲线值进行加快,然后沿曲线值放慢

ease-in-out 动画开始时速度很慢,然后速度沿曲线值进行加快,然后再沿曲线值放慢

  • 实现网页的淡入效果
<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>实现网页淡入效果的示例</title>

    <style>

     @keyframes fadein {

         0%{

             opacity:0;

             background-color: white;

         }

         100%{

             opacity: 1;

             background-color: white;

         }

     }

        body{

            animation-name:fadein;

            animation-duration: 5s;

            animation-timing-function: linear;

            animation-iteration-count: 1;

        }

    </style>

</head>

<body>

<div>示例文字</div>

</body>

</html>
时间: 2024-07-29 17:23:00

CSS3学习系列之动画的相关文章

[CSS3] 学习笔记-CSS动画特效

在CSS3中,出现了很多出彩的效果,例如2D.3D以及过度.动画和多列等.这些效果为页面设计添加了很多的可选设计. 1.2D.3D转换 转换,是使元素改变尺寸.形状.位置的一种效果:通过CSS3转换,我们能够对元素进行移动.缩放.转动.拉伸或拉长:可以通过2D.3D元素来转换: 2D转换方法: translate().rotate().scale().skew().matrix() 3D转换方法: rotateX() rotateY() 1 <!doctype html> 2 <html

CSS3学习系列之盒样式(二)

text-overflow属性 当通过把overflow属性的属性值设定为"hidden"的方法,将盒中容纳不下的内容隐藏起来时,如果使用text-overflow属性,可以在盒的末尾显示一个代表省略号"-".但是,text-overflow属性只在当盒中的内容在水平方向上超出盒的容纳范围时有效.例子如下: <!DOCTYPE html> <html lang="en"> <head> <meta cha

CSS3学习系列之选择器(二)

first-child选择器和last-child选择器 first-child指定第一个元素.last-child指定最后一个子元素. 例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>first-child选择器与last-child选择器使用示例</title> <style> l

css3学习系列之初识 transform (一)

一.transform是哈? 从字面意思来看 transform的含义是:改变,使…变形:转换,对 没错 就是变形 变形当有 放大缩小 东倒 西歪,刚好css3中 transform 也出这个 放几个类似词 transform:rotate(旋转)一个东西你想旋转多少度 就是多少 #rotate { -webkit-transform:rotate(10deg);}, 它的方向是顺时针方向 0- n度随你玩 当然你输入一个负数也可以玩的 transform:skew(倾斜) 有点东倒西摆的样子和

CSS3学习系列之布局样式(一)

多栏布局 使用float属性或position属性的缺点: 使用float属性或position属性进行页面中的简单布局的例子. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>使用float属性进行页面布局的示例</title> <style> div { width: 20em; floa

CSS3学习系列之背景相关样式(一)

新增属性: background-clip:指定背景的显示范围 background-origin:指定绘制背景图像时的起点 background-size:指定背景中图像的尺寸 background-break:指定内联元素的背景图像进行平铺时的循环方式 background-clip属性 在HTML页面中,一个具有背景的元素通常由元素的内容.内容补白(padding).边框.外部补白(margin)构成. 元素背景的显示范围在css2与css2.1.css3中的并不相同,在css2中,背景的

CSS3学习系列

div 加滚动条的方法: <div style="position:absolute; height:400px; overflow:auto"></div>div 设置滚动条显示:overflow :yesdiv 设置滚动条自适应显示:overflow :autodiv 设置上下滚动条显示:overflow-y :yesdiv 设置上下滚动条自适应显示:overflow-y :auto如果该div被包含在其他对象例如td中,则位置可设为相对:position:

CSS3学习系列之边框

一.各家浏览器的兼容 要兼容每一个主流浏览器的话就要加前缀,下面我列出浏览器的前缀 前缀            浏览器 -webkit      chrome和safari -moz            firefox -ms               IE -o                  opera 二.边框 1.圆角效果 border-radius是向元素添加圆角边框 border-radius:10px /*所有交都使用半径为10px的圆角*/ border-radius:5p

css3学习系列之移动

transform功能 放缩 使用sacle方法实现文字或图像的放缩处理,在参数中指定缩放倍率,比如sacle(0.5)表示缩小50%,例子如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>scale方法使用示例</title> <style> div { width: 300px; m