zoukankan      html  css  js  c++  java
  • 动画

    动画
    一、过渡

    通过 CSS3,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。
    transition:过渡
    CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。
    要实现这一点,必须规定两项内容:

      - 规定您希望把效果添加到哪个 CSS 属性上
      - 规定效果的时长
    示例:

    .main{
    position: absolute;
    left: 0;
    top: 0;
    transition: opacity 4s; /*透明度的过度时间为4秒*/
    }
    .main:hover{
    opacity: 0; /*鼠标移入时的图片透明度为0*/
    }

    注释:如果时长未规定,则不会有过渡效果,因为默认值是 0。
    效果开始于指定的 CSS属性改变值时。CSS属性改变的典型时间是鼠标指针位于元素上时:

    transition 属性是一个简写属性,用于设置四个过渡属性:

    1、 transition-property :规定设置过渡效果的css属性的名称
      默认值为all,所有属性都将获得过渡效果,一般也只用这个。

    2、transition-duration :规定完成过渡效果需要多少秒或毫秒。
      时间,默认值为0
    3、transition-timing-function :规定速度效果的速度曲线。
      默认值为ease
      其他取值:
        ease:规定慢速开始,然后变快,然后慢速结束的过渡效果
        ease-in:规定以慢速开始的过渡效果
        ease-out:规定以慢速结束的过渡效果
        ease-in-out:规定以慢速开始和结束的过渡效果
        linear :规定以相同速度开始至结束的过渡效果
    4、transition-delay :定义过渡效果何时开始。
      默认值为0

    二、动画

    CSS3 @keyframes 规则
    @keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。

    当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。

    通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:

      - 规定动画的名称
      - 规定动画的时长

    @keyframes mylast{
    0% {background: red;left: 0;top:0;}
    25%{background: green;left: 300px;top: 0;}
    50%{background: yellow;left: 300px;top: 300px;}
    75%{background:black;left: 0;top: 300px; }
    100%{background: orange;left: 0;top: 0;}
    
    }
    .test{
     100px;
    height: 100px;
    background: gray;
    position: relative;
    animation: mylast 1s infinite 0.1s alternate;
    }


    @keyframes 用来创建动画名称
    animation 用在元素上来应用创建的名称

    animation 属性是一个简写属性,用于设置六个动画属性:

    1、 animation-name :规定需要绑定到选择器的 keyframe 名称。。

    2、 animation-duration :规定完成动画所花费的时间,以秒或毫秒计。

    3、 animation-timing-function :规定动画的速度曲线。
      linear 动画从头到尾的速度是相同的
      ease 默认。动画以低速开始,然后加快,在结束前变慢。
      ease-in 动画以低速开始。
      ease-out 动画以低速结束。
      ease-in-out 动画以低速开始和结束。
    4、 animation-delay : 规定在动画开始之前的延迟。

    5、 animation-iteration-count :规定动画应该播放的次数。
      数值:
        infinite:规定动画应该无限次播放。
    6、 animation-direction :规定是否应该轮流反向播放动画。
       normal:默认值。动画应该正常播放。
       alternate :动画应该轮流反向播放。

    示例

    @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;}
    }
    
    div {
    100px;
    height:100px;
    background:red;
    position:relative;
    /* 规定需要绑定到选择器的keyframe名称 */
    animation-name:myfirst;
    /* 规定动画所花费的时间以秒或毫秒 */
    animation-duration:5s;
    /* 规定动画的速度曲线 */
    animation-timing-function:linear;
    /* 规定动画开始之前的延迟 */
    animation-delay:2s;
    /* 规定动画要播放的次数 */
    animation-iteration-count:infinite;
    /* 规定是否应该轮流方向播放动画 */
    animation-direction:alternate;
    
    }

    三、2D转换

    2D转换方法
    translate()
    rotate()
    scale()
    skew()
    matrix()

    1、translate() 方法
    通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数
    示例:

    transform: translate(50px,100px);
    把元素从左侧移动 50 像素,从顶端移动 100 像素。


    2、rotate() 方法
    通过 rotate() 方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。
    示例:

    transform: rotate(30deg);
    把元素顺时针旋转 30 度。


    3、scale() 方法
    通过 scale() 方法,元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数:
    示例:
    ```
    值 scale(2,4) 把宽度转换为原始尺寸的 2 倍,把高度转换为原始高度的 4 倍。
    ```
    4、skew() 方法
    通过 skew() 方法,元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:
    示例:

    transform: skew(30deg,20deg);
    值 skew(30deg,20deg) 围绕 X 轴把元素翻转 30 度,围绕 Y 轴翻转 20 度。

    CSS3 transform-origin 属性
    transform-origin :设置旋转元素的基点位置
    示例:

    div
    {
    transform: rotate(45deg);
    transform-origin:20% 40%;}

    语法:transform-origin: x-axis y-axis z-axis;
    1、x-axis:
      定义视图被置于 X 轴的何处。可能的值:
        eft
        center
        right
        length
        %
    2、y-axis
      定义视图被置于 Y 轴的何处。可能的值:

        top
        center
        bottom
        length
        %
    3、z-axis
      定义视图被置于 Z 轴的何处。可能的值:

        length

    四、3D转换
    3D转换方法
    1、rotateX()

    通过 rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转。

    2、rotateY()
    rotateY() 旋转
    通过 rotateY() 方法,元素围绕其 Y 轴以给定的度数进行旋转。

    perspective(n) 定义 3D 转换元素的透视视图。

    perspective 属性定义 3D 元素距视图的距离,以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。

    当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身。

    注释:perspective 属性只影响 3D 转换元素。

    值:
    number 元素距离视图的距离,以像素计。
    none 默认值。与 0 相同。不设置透视。

  • 相关阅读:
    ubuntu14.0 服务器webmin安装
    python如何简单的处理图片(1):打开显示
    如何在YouTube上下载视频
    Ubuntu下下载使用sublime
    IndentationError: unexpected indent
    Linux下vim显示行数
    Linux下tree的使用介绍
    Mac利用分屏spliter
    redis开机自启动脚本(linux)
    java 反射应用
  • 原文地址:https://www.cnblogs.com/lyl-0667/p/11011199.html
Copyright © 2011-2022 走看看