首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

响应式Web设计:使用HTML5和CSS3实践 (12)

响应式Web设计:使用HTML5和CSS3实践 (12)

第7章 CSS3过渡、变形和动画
7.1 什么是CSS3过渡以及如何使用它

    一个超链接默认设置了一个样式,当鼠标hover上去的时候可能会应用到另外一个样式,这就是一个过渡。过渡可以针对属性来过渡,比如当hover发生时候过渡。

    过渡涉及四个属性:
        transition-property 要过渡的属性名称,比如background-color或all
        transition-duration 定义过渡效果持续的时间
        transition-timing-function 定义过渡期间速度如何变化
        transition-delay 可选,定义过渡开始前的延迟事件

    单独使用各种过渡属性创建效果的语法如下:

        #content a {
            transition-property: all;
            transition-duration: 1s;
            transition-timing-function: ease;
            transition-delay: 0s;
        }
         

    简写语法如下

    transition: all 1s ease 0s;

    也可以在不同的时间段内过渡不同的属性

        #content a {
            /* other setting */
            transition-property: border, color, text-shadow;
            transition-duration: 2s, 3s, 8s;
        }

    过渡调速函数,不太理解可以参考这里

7.2 CSS3中的2D变形

    有两种可用的CSS3变形:2D变形和3D变形。其中2D变形实现更广泛,它允许我们使用如下变形:
        scale:用来缩放大小
        translate:在屏幕内移动元素
        rotate:按照一定的角度旋转元素
        skew:按照X和Y轴对元素进行斜切
        matrix:将上述若干变形效果组合成单个声明,并允许你用像素精度来控制变形效果
    实际项目中可以使用傻瓜矩阵变形工具来完成这样的事情。
    transform-origin可以用来修改变形效果的起点。

7.3 尝试CSS3的3D形变

    CSS3的3D形变能创造非常酷的效果,但相对2D的浏览器支持性要差一些。

7.4 CSS3动画效果

如下是一个给h5加上阴影动画的例子,最开始定义一个关键帧的名字,以及在动画进行到多少的时候的效果,然后在元素h5应用。当然如果想要在特定浏览器上执行,得要给 @keyframes 和 animation 都加上私有前缀。

    @keyframes warning {
      from {
        text-shadow: 0px 0px 4px #000000;
      }
      50% {
        text-shadow: 0 0 40px #000000;
      }
      to {
        text-shadow: 0 0 4px #000000;
      }
    }
     
     
    .back h5 {
        font-size: 4em;
        color: #f2050b;
        text-align: center;
        animation: warning 1.5s infinite ease-in;
    }

动画可以采用的参数有七个可以独立设置的属性值,除了像下面这样列出来你也可以像上例那样写缩写。

    animation-name: warning;
    animation-duration: 1.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-play-state: running;
    animation-delay: 0s;
    animation-fill-mode: none;

CSS3过渡让效果的初始按照可定义的速度进行,形变使使得元素大小、偏移等值脱离初始,动画则定义了一个变化的过程,三者结合起来能产生非常丰富的效果。 该书示例有结合示例进行演示,在此跳过,有兴趣可以自己参考~
7.5 本章小结

本章学习了CSS3过渡、形变和动画的内容,学习这些新特性的最终目的是使用CSS3来替代JavaScript制作一些优雅降级的增强效果,从而使代码更简洁和丰富。下一章将开始学习表单中HTML5和CSS3的应用。
返回列表