# Transition:添加弹出过渡效果

Posted deepblue775737449

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# Transition:添加弹出过渡效果相关的知识,希望对你有一定的参考价值。

# Transition:添加弹出过渡效果

通过鼠标的单击、获得焦点,被点击或对元素任何改变中触发,并平滑地以动画效果改变CSS的属性值。

W3C-transition
MDN-transition

在CSS中创建简单的过渡效果可以从以下几个步骤来实现:

第一,在默认样式中声明元素的初始状态样式;
第二,声明过渡元素中点值样式,比如悬浮状态;
第三,在默认样式中通过添加过渡函数,添加一些不同的样式。

  • transition:为一个元素在不同状态之间切换的时候定义不同的过渡效果。
  • transition: property | duration | timing function | delay ;
    • property:过渡效果的 CSS 属性的名称。
    • duration:完成过渡效果需要多少秒或毫秒。
    • transition-timing-function:规定速度效果的速度曲线。
    • delay:过渡效果何时开始。[规定在过渡效果开始之前需要等待的时间,以秒或毫秒计。]
    • 默认值:all 0 ease 0
  • 属性语法值及解释
    • transition-property: none | all | property;
    • transition-duration: time;[规定完成过渡效果需要花费的时间(以秒或毫秒计)。默认值是 0,意味着不会有效果]
    • transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-
      bezier(n,n,n,n); 详解
    • transition-delay: time;

transition-timing-function: linear  /* the same speed */
                          : ease   /* slow-fast-slow */
                          : ease-in  /* slow start*/
                          : ease-out    /* slow end */
                          : ease-in-out     /*slow start-slow end*/
                          : cubic-bezier(n,n,n,n);  /*define your own values in a cubic-bezier function*/
▲ 单个属性:
{
width:100px;    /*初始状态*/
background:blue; /*需要设置背景色或border,否则效果不可见。*/
transition-property: width; 
transition-duration: 2s;/*效果过渡时间不可缺省,否则虽然可触发,但无过渡效果。*/
}
div:hover{width:300px;} /*目标值及触发*/

/*也可集合使用,如下*/
transition: width 2s;
▲ 多个属性:
div
{
width:100px;
height:100px;
background-color:red;
border:3px solid yellow;
transition:background-color 2s,border 2s,width 2s,height 2s;border:10px dotted black;    /*多属性建议使用 {transition:all 2s} */
}

div:hover
{
width:300px;
height:300px;
background-color:green;
border:10px dotted black;
}
  • transition可以写在起始css中,也可以写在中点css中。
    • transition写在起始css中,效果覆盖起始中点/中点终止 的整个周期。
    • transition写在中点css中,效果只覆盖中点终止
  • transition写在哪个标签,就表示过渡效果向谁进行,例如:
<div></div>
div {
    width: 100px;
    height: 100px;
    background-color: red;
    transition: width 2s;
    }
/*由div:hover中值状态返回div初始状态,width有2S的过渡;其他属性无过渡效果*/           
div:hover {
          width: 300px;
          background-color: green;
          transition: background-color 2s;
          }
/*由div初始状态——div:hover中值状态,过渡效果有width、background-color;其他属性无过渡效果*/

除非对返回过渡有特殊要求,否则一般将transition写在起始css中。





以上是关于# Transition:添加弹出过渡效果的主要内容,如果未能解决你的问题,请参考以下文章

css3过渡动画 transition

鼠标经过一个div时 , 如何让另一个div以过渡效果高度增加

[ css 过渡和动画 transition animation ] 过渡和动画听课笔记记录

css的transition实现一个hover边框加载的按钮

过渡效果

基于 React 实现一个 Transition 过渡动画组件