开发中,最麻烦的过渡效果就是高度过渡。因为过渡效果需要设置一个起始状态和结束状态,但是对于 web 中的元素来说,容器高度大部分是根据内部元素自动撑起来的,这时很难去设置一个稳定的过渡高度。所以我写了一个基于 react 的组件来自动完成高度过渡这一实现。
使用方法:
首先 npm install auto-height-transition -S
具体使用:
import {
TransitionWhenHeightChange,
TransitionWhenToggle
} from ‘auto-height-transition’;
// 在元素显示隐藏时进行过渡
<TransitionWhenToggle duration={300} timeFunction={‘ease’}>
{
this.state.show && (
<div>
placeholder<br/>
placeholder<br/>
placeholder<br/>
placeholder<br/>
</div>
)
}
</TransitionWhenToggle>
// 设置一个最小高度,然后切换进行过渡。通常用于 查看更多 显示详情
<TransitionWhenHeightChange height={this.state.shouldCollapsed ? 20 : null} duration={300} timeFunction={‘ease’}>
<div>
placeholder<br/>
placeholder<br/>
placeholder<br/>
placeholder<br/>
</div>
</TransitionWhenHeightChange>
github 地址:auto-height-transition