美文网首页
CSS3过渡(Transition)

CSS3过渡(Transition)

作者: 陈裔松的技术博客 | 来源:发表于2019-01-08 10:24 被阅读0次

过渡(Transition)

  • 允许CSS的属性值在一定的时间区间内平滑地过渡
  • 在鼠标点击,获得焦点,被点击或对元素的任何改变中触发,并圆滑地以动画效果改变CSS的属性值。

transition-property属性

  • 概念:检索或设置对象中的参与过渡的属性
  • 语法:transition-property: none | all | property
  • 参数:none(没有属性改变),all(所有属性改变,默认值),property(元素属性名)
  • 补充:如果不写transition-property属性,表示所有的属性支持过渡
// 当鼠标离开的时候,transform属性参与过渡
div { width: 800px; height: 800px; margin: auto; transform: rotate(0deg); 
    background: url(images/imooc.png) no-repeat center center, url(images/circle_outer.png) no-repeat center center;
    -webkit-transition-property: transform;
       -moz-transition-property: transform;
        -ms-transition-property: transform;
         -o-transition-property: transform;
            transition-property: transform;
}
// 当鼠标经过的时候,transform属性参与过渡
div:hover { cursor: pointer; transform: rotate(180deg);
    -webkit-transition-property: transform;
       -moz-transition-property: transform;
        -ms-transition-property: transform;
         -o-transition-property: transform;
            transition-property: transform;
}

transition-duration属性

  • 概念:检索或设置对象过渡的持续时间
  • 语法:transition-duration: time;
  • 参数:规定完成过渡效果需要花费的时间(以秒或毫秒计),默认值是0
// 省略兼容性处理
div { width: 800px; height: 800px; margin: auto; transform: rotate(0deg); 
    background: url(images/imooc.png) no-repeat center center, url(images/circle_outer.png) no-repeat center center;
    transition-property: transform;
    transition-duration: 2s;  // 鼠标离开的时候,设置过渡时间为2s
}
div:hover { cursor: pointer; transform: rotate(180deg);
    transition-property: transform;
    transition-duration: 2s;  // 鼠标进过的时候,设置过渡时间为2s
}

transition-timing-function属性

  • 概念:检索或设置对象中过渡的动画类型
  • 语法:transition-timing-function: linear | ease | ease-in | ease-out | ease-in-out |
  • 参数:
    linear => 线性过渡,均匀运动
    ease => 平滑过渡,结束比较生硬
    ease-in => 由慢到快,结束比较生硬
    ease-out => 由快到慢
    ease-in-out => 由慢到快再到慢,这种效果比较人性化
// 省略兼容性处理
div { width: 800px; height: 800px; margin: auto; transform: rotate(0deg); 
    background: url(images/imooc.png) no-repeat center center, url(images/circle_outer.png) no-repeat center center;
    transition-property: transform;
    transition-duration: 2s;
    transition-timing-function: ease-in-out;  // 鼠标离开的时候,设置过渡效果为由慢到快再慢
}
div:hover { cursor: pointer; transform: rotate(180deg);
    transition-property: transform;
    transition-duration: 2s;
    transition-timing-function: ease-in-out;  // 鼠标进过的时候,设置过渡效果为由慢到快再慢
}

transition-delay属性

  • 概念:检索或设置对象延迟过渡的时间
  • 语法:transition-delay: time;
  • 参数:延迟时间,默认值是0
// 省略兼容性处理
div { width: 800px; height: 800px; margin: auto; transform: rotate(0deg); 
    background: url(images/imooc.png) no-repeat center center, url(images/circle_outer.png) no-repeat center center;
    transition-property: transform;
    transition-duration: 2s;
    transition-timing-function: ease-in-out;
    transition-delay: 1s;  // 鼠标离开的时候,设置1s之后再开始过渡
}
div:hover { cursor: pointer; transform: rotate(180deg);
    transition-property: transform;
    transition-duration: 2s;
    transition-timing-function: ease-in-out;
    transition-delay: 1s;  // 鼠标进过的时候,设置1s之后再开始过渡
}

transition属性

  • 概念:复合属性,检索或设置对象变换时的过渡
  • 语法:transition: property duration timing-function delay;
div { width: 800px; height: 800px; margin: auto; transform: rotate(0deg); 
    background: url(images/imooc.png) no-repeat center center, url(images/circle_outer.png) no-repeat center center;
    -webkit-transition: transform 2s ease-in-out 1s;
       -moz-transition: transform 2s ease-in-out 1s;
        -ms-transition: transform 2s ease-in-out 1s;
         -o-transition: transform 2s ease-in-out 1s;
            transition: transform 2s ease-in-out 1s;
}
div:hover { cursor: pointer; transform: rotate(180deg);
    -webkit-transition: transform 2s ease-in-out 1s;
       -moz-transition: transform 2s ease-in-out 1s;
        -ms-transition: transform 2s ease-in-out 1s;
         -o-transition: transform 2s ease-in-out 1s;
            transition: transform 2s ease-in-out 1s;
}

相关文章

网友评论

      本文标题:CSS3过渡(Transition)

      本文链接:https://www.haomeiwen.com/subject/yfhvrqtx.html