[关闭]
@Dreamingboy 2017-04-30T09:32:15.000000Z 字数 2684 阅读 969

CSS3过渡

CSS3


12.1

12.1.1 创建过度

12.1.2 浏览器兼容性

属性 IE Chrome Opera Firefox Safari
transition 10+ 4.0+ 3.1+ 4.0+ 10.5+

其他的浏览器的兼容效果:

12.1.3 CSS3 过渡的属性

语法

  1. transition:[<'transition-property'>||<transition-duration>||<transition-timing-function>||<transiton-delay>,[[<'transition-property'>||<transition-duration>||<transition-timing-function>||<transiton-delay>]],*
  1. transition:background 2s linear 2s,border 2s ease-in 3s;

子属性值之间用空额隔开,多个组合之间使用逗号隔开。
浏览器在解析的时候一般是将第一个表示时间的解析成为transition-duration,第二个时间解析成transition-delay

12.2.1 指定过渡属性的transition-property

transition-property表示的是要使用过的的属性,比如background-color,

1、取值

2、样式具备过渡效果的条件

12.2.2 指定过渡所需的时间:transition-duration

transition-duration设置一个属性过渡到另外一个属性所需要的时间

1、语法

  1. transition-duration:<time>[,<time>]*

12.2.3 指定过渡函数transition-timing-function

1、语法

  1. transition-timing-function:<single-transition-timming-function>[,<single-transition-timing-function>]

2、单一的过渡函数

函数 功能
ease 默认值,元素样式从初始状态过渡到终止状态时速度由快到慢,逐渐变慢
linear 元素样式从处置初始状态过渡到终止状态的速度是恒速
ease-in 元素从初始状态过渡到终止状态,速度逐渐变快
ease-out 元元素从初始状态到终止状态先加速后减速

3、step()函数
step()函数用于把整个操作领域划分成同样大小的间隔,每个间隔是相等的。
step()函数允许在固定的间隔播放动画

1)语法

  1. steps(<integer>[,[start|end]]?)

包含两个参数

12.2.4 指定过渡延迟时间transition-delay

定义过渡时间,也就是说触发后经过多长时间过渡才开始。

1、语法

  1. transition-delay:<time>[,<time

参数的取值可以是0、正整数和负整数

  1. 0:默认值,触发后过渡立即执行
  2. 正整数:触发后经过设定的时间后再执行
  3. 负整数:元素的过渡动作从该 时间点开始显示,之前的动作被截断

    1. ransition:width 2s steps(3,start) 0s, height 2s steps(3,start) -2s, background-color 4s steps(3,start) 2s;

    以上面这段代码为例,前面的width的变化会直接被截掉,而是直接跳到height变化这个动作。

    12.3 CSS3触发过渡

    12.3.1 伪元素触发

  4. :hover

  5. :active:表示用户单击某个元素并按住鼠标按钮是显示的状态
  6. :focus:在元素接收键盘焦点的时候出现,比如文本输入框
  7. :checked:

12.3.2 媒体查询触发

常见的是使用@media来实现媒体查询触发

12.3.3 JavaScript触发

最常见的是使用jQuery脚本实现类名的交换来达到触发多的目的

  1. $(function (){
  2. $("#button").click(function(){
  3. $(".box").toggleClass("on");
  4. });
  5. });
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注