进入css3动画世界(二)

今天主要来讲transition和transform入门,以后会用这两种属性配合做一些动效。

注:本文面向前端css3动画入门人员,我对这个也了解不深,如本文写的有纰漏请指出,不喜勿喷。

transition属性

从中文翻译来讲,这是一个过渡属性,而这个属性的属性值有四种:

transition: property duration timing-function delay

第一个是起作用的属性名,第二个是动画持续的时间,第三个是速度效果的曲线,第四个是过渡效果延迟多久后开始。

而我经常用的是第二个属性值,其次是速度曲线。

下面我们用hover试下不同的效果:

**源码:**
```html

改变宽度
持续3秒
匀速3秒
延迟1秒

```

  1. .idiv{
  2. float: left;
  3. width: 100px;
  4. height: 100px;
  5. background: green;
  6. margin: 5px;
  7. font-size: 20px;
  8. color: #fff;
  9. line-height: 100px;
  10. text-align: center;
  11. }
  12. #change-width{
  13. transition: width 0.5s;
  14. }
  15. #change-width:hover{
  16. width: 300px;
  17. }
  18. #dur-3s{
  19. transition: 3s;
  20. }
  21. #dur-3s:hover{
  22. width: 300px;
  23. }
  24. #linear{
  25. transition: 0.5s linear;
  26. }
  27. #linear:hover{
  28. width: 300px;
  29. }
  30. #delay-1s{
  31. transition: 0.5s 1s;
  32. }
  33. #delay-1s:hover{
  34. width: 300px;
  35. }

transform属性

transform的意思是变换。

transform的变换很多,我可能没那么深入去学,但是我们可以了解一下基本的几种动画:

translate(),rotate(),scale(),就凭这几种基本的动画加上你的想象力,就可以做出上一篇我们提到那头大象了。当然,这些transform的属性值最后还可以用一个属性值matrix()完成,具体可以去膜拜一下张鑫旭关于matrix()的描述。

我们暂时只讨论2d情况下的transform,当然还有一个skew()我没怎么用过。

translate

translate()是平移,translateX(x)沿着x轴平移,translateY(y)沿着y轴平移,translate(x,y)沿着xy轴同时平移:

```html

div1 x平移
div2 y平移
div3 xy平移

```

  1. .idiv{
  2. float: left;
  3. width: 100px;
  4. height: 100px;
  5. background: green;
  6. margin: 5px;
  7. font-size: 20px;
  8. color: #fff;
  9. line-height: 100px;
  10. text-align: center;
  11. transition: 0.5s;
  12. }
  13. #div1:hover{
  14. transform: translateX(20px);
  15. }
  16. #div2:hover{
  17. transform: translateY(20px);
  18. }
  19. #div3:hover{
  20. transform: translate(20px,20px);
  21. }

rotate

rotate()是旋转,2d的情况下,rotate()只接收一个角度作为参数。

  1. <div class="idiv" id="rotate30">顺时针旋转30°</div>
  2. <div class="idiv" id="rotate60">顺时针旋转60°</div>
  3. <div class="idiv" id="rotate90">顺时针旋转90°</div>
  4. <div class="idiv" id="rotate-30">逆时针旋转30°</div>
  5. <div class="idiv" id="rotate-60">逆时针旋转60°</div>
  6. <div class="idiv" id="rotate-90">逆时针旋转90°</div>
  1. .idiv{
  2. float: left;
  3. width: 100px;
  4. height: 100px;
  5. background: green;
  6. margin: 5px;
  7. font-size: 20px;
  8. color: #fff;
  9. line-height: 50px;
  10. text-align: center;
  11. transition: 0.5s;
  12. }
  13. #rotate30:hover{
  14. transform: rotate(30deg);
  15. }
  16. #rotate60:hover{
  17. transform: rotate(60deg);
  18. }
  19. #rotate90:hover{
  20. transform: rotate(90deg);
  21. }
  22. #rotate-30:hover{
  23. transform: rotate(-30deg);
  24. }
  25. #rotate-60:hover{
  26. transform: rotate(-60deg);
  27. }
  28. #rotate-90:hover{
  29. transform: rotate(-90deg);
  30. }

scale()

scale()是缩放,和translate()一样,接收1-2个参数。scaleX(x),scaleY(y),scale(x,y):

  1. <div class="idiv" id="scalex">x轴放大到1.5倍</div>
  2. <div class="idiv" id="scaley">y轴缩小到0.5倍</div>
  3. <div class="idiv" id="scalexy">xy轴放大到2倍</div>
  1. .idiv{
  2. float: left;
  3. width: 100px;
  4. height: 100px;
  5. background: green;
  6. margin: 5px;
  7. font-size: 20px;
  8. color: #fff;
  9. line-height: 50px;
  10. text-align: center;
  11. transition: 0.5s;
  12. }
  13. #scalex:hover{
  14. transform: scaleX(1.5);
  15. }
  16. #scaley:hover{
  17. transform: scaleY(0.5);
  18. }
  19. #scalexy:hover{
  20. transform: scale(2,2);
  21. }

进入css3动画世界(二)的更多相关文章

  1. 进入css3动画世界(一)

    其实我做css3动画也没有多久,这篇文章目标人群是css3动画的新手,不喜勿喷. 分类 目前我接触到的css3动画有2类:一种是transition的,另一种是@keyframes的. 两者的区别就是 ...

  2. CSS3中的变形与动画(二)

    CSS3动画 过渡属性transiton-property 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成.但在CSS3中新增加了一个新的模块transition,它可 ...

  3. 用CSS3动画,让页面动起来

    以前就听说过有个库,叫animate.css,但是自己并没有在实际项目中使用过,这次正好要做个招聘页面,得以利用一下这个库,在经常会卡顿的UC浏览器中也能流畅执行. 扫描下面的二维码,可以看到在线的d ...

  4. CSS3动画几个平时没注意的属性

    一.timing-function: steps() 一开始在使用CSS3的时候并没有太注意这个timing-function,只是注意到自定义贝塞尔曲线. 1)一个项目中的实例 先来看看左边加了st ...

  5. css3动画由浅入深总结

    阅读目录 一:过渡动画---Transitions 二:Animations功能 三:translate(tx,ty) 四:scale(x,y) 五:rotate(x): 5.1:skew(x,y): ...

  6. 【转】15个无比华丽的HTML5/CSS3动画应用

    原文转自:http://www.html5cn.org/article-7089-1.html 前几天,HTML5标准已经尘埃落定,未来的Web将会是由HTML5主导,当然作为开发者对这一喜讯更为动心 ...

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

    CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加 ...

  8. css3学习--css3动画详解一(animation属性)

    ***介绍的属性并不完全,写的都是我认为容易混淆的难点属性,所以属性会在最后综合案例展示~ 一.Keyframes介绍: Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主 ...

  9. 如何制作css3的3d动画——以骰子旋转为例,详解css3动画属性

    首先先来看两个用css3实现的炫酷的3d动画效果 1 2 3 4 5   6 你没看错,这个炫酷的效果都是用css3实现的. 下面是动画实现所需要用到的几个css3属性. 1.perspective: ...

随机推荐

  1. JVM内存结构和6大区域

    摘自 http://www.iteye.com/news/30350 对于我们一般理解的计算机内存,它算是CPU与计算机打交道最频繁的区域,所有数据都是先经过硬盘至内存,然后由CPU再从内存中获取数据 ...

  2. 插入排序与希尔排序Java实现

    public class TestMain { public static void main(String[] args) { Integer[] a = new Integer[5000]; fo ...

  3. JAVA线程池应用的DEMO

    在做很多高并发应用的时候,单线程的瓶颈已经满足不了我们的需求,此时使用多线程来提高处理速度已经是比较常规的方案了.在使用多线程的时候,我们可以使用线程池来管理我们的线程,至于使用线程池的优点就不多说了 ...

  4. bootstrap 基础(一)

    1 bootstrap简介 bootstrap是Twitter公司的两名前端设计师设计的. bootstrap是一款基于HTML.CSS和JavaScript的一个前端框架. bootstrap的特点 ...

  5. crontab 各参数详解及如何查看日志记录

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt145 crontab各参数说明: crontab [-u user] [fi ...

  6. window.onerror 应用实例

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp75   window.onerror = function(sMessa ...

  7. 第2阶段——编写uboot之编译测试以及改进(3)

    编译测试: 1.将写好的uboot复制到linux下面 2.make编译,然后将错误的地方修改,生成boot.bin (编译出错的解决方案:http://www.cnblogs.com/lifexy/ ...

  8. Linux-chown命令(1)

    chown  [chang owner]:更改文件的属主,也就是指定文件的拥有者改为另一个指定的用户或组. 命令格式: chown [选项]... [用户][:[组]] 文件... 例子:  sudo ...

  9. java伪代码《大道至简》

    阅读<大道至简>第一章,深感作者对编程问题的精炼定义,通过对古老寓言故事<愚公移山>的引用,说明了编程的本质,即顺序,分支,循环.其中又将他们扮演的项目组织者,团队经理,编程人 ...

  10. 团队作业8——第二次项目冲刺(Beta阶段)(冲刺计划)

    Beta阶段冲刺计划 Alpha冲刺暂时告一段落,项目现在也有个了大体框架,当然还是有很多漏洞,在接下来的Beta冲刺中尽量完善,希望最后能有一个好的结果. 新成员介绍 何跃斌:掌握java.c的基本 ...