8-7 CSS3中的动画--过渡属性 transition-property
本节编程练习不计算学习进度,请电脑登录imooc.com操作

CSS3中的动画--过渡属性 transition-property

早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化,让效果显得更加细腻。简单点说,就是通过鼠标的单击获得焦点被点击对元素任何改变中触发,并平滑地以动画效果改变CSS的属性值。

在CSS中创建简单的过渡效果可以从以下几个步骤来实现:
第一,在默认样式中声明元素的初始状态样式;
第二,声明过渡元素最终状态样式,比如悬浮状态;
第三,在默认样式中通过添加过渡函数,添加一些不同的样式。

CSS3的过度transition属性是一个复合属性,主要包括以下几个子属性:

先来看transition-property属性

transition-property用来指定过渡动画的CSS属性名称,而这个过渡属性只有具备一个中点值的属性(需要产生动画的属性)才能具备过渡效果,其对应具有过渡的CSS属性主要有:

HTML:

<div></div>

CSS:

div {
  width: 200px;
  height: 200px;
  background-color:red;
  margin: 20px auto;
  -webkit-transition: background-color .5s ease .1s;
  transition: background-color .5s ease .1s;
}
div:hover {
  background-color: orange;
}

演示结果:

鼠标移入

鼠标移出

特别注意:当“transition-property”属性设置为all时,表示的是所有中点值的属性。

用一个简单的例子来说明这个问题:

假设你的初始状态设置了样式“width”,“height”,“background”,当你在终始状态都改变了这三个属性,那么all代表的就是“width”、“height”和“background”。如果你的终始状态只改变了“width”和“height”时,那么all代表的就是“width”和“height”。

任务

在右侧CSS编辑器的第6及第7行输入正确的代码,让容器在hover状态下宽度从200px慢慢过渡到400px。温馨提醒:务必考虑到浏览器的兼容性喔!

 

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>变形与动画</title>
  6. <link href="style.css" rel="stylesheet" type="text/css">
  7. </head>
  8. <body>
  9. <div></div>
  10.  
  11. </body>
  12. </html>
  1. div {
  2. width: 200px;
  3. height: 200px;
  4. background: red;
  5. margin: 20px auto;
  6. -webkit-?: width;
  7. : width;
  8. -webkit-transition-duration:.5s;
  9. transition-duration:.5s;
  10. -webkit-transition-timing-function: ease-in;
  11. transition-timing-function: ease-in;
  12. -webkit-transition-delay: .18s;
  13. transition-delay:.18s;
  14. }
  15. div:hover {
  16. width: 400px;
  17. }
下一节