• CSS3实践之路(六):CSS3的过渡效果(transition)与动画(animation)


    刚开始W3C CSS Workgroup拒绝将CSS3 transition与animation加入官方标准,一些成员认为过渡效果和动画并非样式属性,而且已经可以用脚本实现。所以请大家明白,特别是Web前端开发员,用CSS3做一些过渡效果和动画,并不比运用JS脚本实现要好(个人认为:用CSS只不过让不懂JS的人员(设计人员)也能做动画,而且使用浏览器封装好的方法,但使用JS脚本可以更灵活,在性能上也能去优化)。

    1.Transition

    Transition是一种直观上的效果,让DOM元素的某个属性在固定时间内从一旧值到一新值。目前Firefox、Opera、Safari和Chrome都支持transition ,IE还不支持。

    语法:transition: property duration timing-function delay;

    说明:

    Value

    Description

    transition-property

    指定要改变CSS属性的名称

    transition-duration

    指定过渡效果要花多少时间(s/ms)

    transition-timing-function

    指定过渡效果的速度

    transition-delay

    定义过渡效果的延迟时间.

    实例:

    <style type="text/css"> 
    div
    {
    100px;
    height:100px;
    background:red;
    transition:width 2s;
    -moz-transition:width 2s; /* Firefox 4 */
    -webkit-transition:width 2s; /* Safari and Chrome */
    -o-transition:width 2s; /* Opera */
    }
    
    div:hover
    {
    300px;
    }
    </style>
    <div></div>

    2. Animation

    CSS动画(Animations)简单说就是在一段固定的动画时间内暗中在某一频率内改变其CSS某个或某些值,从而达到视觉上的转换动画效果。Animations的很多方面都是可以控制的,包括动画运行时间,开始值和结束值,还有动画的暂停和延迟其开始时间等。

    目前支持Animation的浏览器有:Firefox、 Safari 和 Chrome,IE和Opera还不支持。下面看下一个简单的实例:

    <style type="text/css"> 
    div
    {
    100px;
    height:100px;
    background:red;
    position:relative;
    animation:mymove 5s infinite;
    -moz-animation:mymove 5s infinite; /*Firefox*/
    -webkit-animation:mymove 5s infinite; /*Safari and Chrome*/
    }
    @keyframes mymove
    {
    from {left:0px;}
    to {left:200px;}
    }
    @-moz-keyframes mymove /*Firefox*/
    {
    from {left:0px;}
    to {left:200px;}
    }
    @-webkit-keyframes mymove /*Safari and Chrome*/
    {
    from {left:0px;}
    to {left:200px;}
    }
    </style>
    <div></div>

    语法:animation: name duration timing-function delay iteration-count direction;

    说明:

    Value

    Description

    animation-name

    指定动画帧的名称

    animation-duration

    指定动画运行的时间:秒(s)和毫秒(ms)

    animation-timing-function

    指定动画运行的速度

    animation-delay

    指定动画的延迟时间

    animation-iteration-count

    指定动画的重复数

    animation-direction

    指定动画是否以相反的方向运行动画

    接下来和大家分享一个webkit.org上面的一个DEMO,此DEMO利用Transform和Animation,加少量Javascript做成的3D动画效果,有兴趣的同学可去参考以下网址:http://www.webkit.org/blog-files/3d-transforms/poster-circle.html。只可惜只有webkit内核的浏览器才能看到相关3D动画效果。

  • 相关阅读:
    Fiddler系列教程3:使用Fiddler录制Jmeter性能测试脚本
    PySide6读取EXCLE文档
    C#实现操作DOS命令的方法
    在PyCharm中调用xlrd模块出现 ModuleNotFoundError: No module named 'xlrd' ,但在sublime却可以正常
    pip安装时出现错误:File "D:Python39Scriptspip.exe\__main__.py", line 4, in <module> ModuleNotFoundError: No module named 'pip'
    /ect/fstab与/etc/mtab的区别
    虚拟机中Ubuntu系统修改分辨率
    关于报错Could not load file or assembly的问题
    关于WinCC归档应该知道的事
    vue + element 表单的简单公用组件,表格的集成写法
  • 原文地址:https://www.cnblogs.com/Wenwang/p/2256190.html
Copyright © 2020-2023  润新知