mirror of
https://github.com/wahyd4/ant-design.git
synced 2026-08-13 14:56:27 +10:00
5.4 KiB
5.4 KiB
QueueAnim
- category: Components
- chinese: 进出场动画
通过简单的配置对一组元素添加串行的进场动画效果。
何时使用
-
从内容A到内容B的转变过程时能有效的吸引用户注意力,突出视觉中心,提高整体视觉效果。
-
小的信息元素排布或块状较多的情况下,根据一定的路径层次依次进场,区分维度层级,来凸显量级,使页面转场更加流畅和舒适,提高整体视觉效果和产品的质感。
API
元素依次进场。
<QueueAnim>
<div key='demo1'>依次进场</div>
<div key='demo2'>依次进场</div>
<div key='demo3'>依次进场</div>
<div key='demo4'>依次进场</div>
</QueueAnim>
API
每个子标签如需要动画,必需带key,如果没key将不执行动画;
| 参数 | 类型 | 默认 | 详细 |
|---|---|---|---|
| type | string / array | right |
动画内置参数 left right top bottom scale scaleBig scaleX scaleY |
| animConfig | object / array | null | 配置动画参数 如 {opacity:[1, 0],translateY:[0, -30]} 具体参考 velocity 的写法 |
| delay | number / array | 0 | 整个动画的延时,以毫秒为单位 |
| duration | number / array | 500 | 每个动画的时间,以毫秒为单位 |
| interval | number / array | 30 | 每个动画的间隔时间,以毫秒为单位 |
| leaveReverse | boolean | false | 出场时是否倒放,从最后一个 dom 开始往上播放 |
| ease | string / array | easeOutQuart |
动画的缓动函数,查看详细 |
| animatingClassName | array | ['queue-anim-entering', 'queue-anim-leaving'] |
每个进出场动画开始时的默认样式 |
| component | string | div |
QueueAnim 替换的标签名 |
<style> .code-box-demo .demo-header { width: 100%; background: #ebedee; height: 30px; } .code-box-demo .demo-header ul { float: right; margin-right: 5px; } .code-box-demo .demo-header ul li { width: 50px; height: 30px; float: left; background: #e4e4e4; margin-left: 5px; } .code-box-demo .demo-header ul li:before { margin: 10px auto; width: 20px; height: 10px; background: #ebeded; } .code-box-demo .demo-header .logo { float: left; margin: 0px auto 0 10px; line-height: 32px; } .code-box-demo .demo-header .logo img{ margin:auto } .code-box-demo .demo-header .logo span { display: block; float: right; } .code-box-demo .demo-content { width: 80%; margin: 10px auto; } .code-box-demo .demo-content .demo-title { text-align:left; background: #a4a4a4; width: 40%; height: 20px; line-height: 20px; color: #ebeded; text-indent:10px } .code-box-demo .demo-content .demo-listBox { margin-top: 10px; } .code-box-demo .demo-content .demo-listBox .demo-list .title { height: 30px; background: #cacaca; overflow: hidden; } .code-box-demo .demo-content .demo-listBox .demo-list .title:before,.code-box-demo .demo-content .demo-listBox .demo-list .title:after{ width: 30%; height: 5px; background: #ebeded; float:left; margin:12px 35px 0; } .code-box-demo .demo-content .demo-listBox .demo-list .title:after{ width:15%; float:right; margin:12px 10px 0; } .code-box-demo .demo-content .demo-listBox .demo-list ul li { height: 25px; background: #ebeded; border-bottom: 1px solid #cacaca; overflow: hidden; padding: 5px 15px; } .code-box-demo .demo-content .demo-listBox .demo-list ul li:before { width: 10px; height: 5px; background: #cacaca; float: left; margin-top:4px } .code-box-demo .demo-content .demo-listBox .demo-list ul li:after { width: 50%; height: 5px; background: #cacaca; float: left; margin-left: 10px; margin-top: 4px; } .code-box-demo .demo-content .demo-kp { margin: 10px auto; } .code-box-demo .demo-content .demo-kp ul li { display: inline-block; width: 32%; height: 40px; background: #cacaca; color: #ebeded; text-align: left; padding: 10px; margin-right: calc(2%); } .code-box-demo .demo-content .demo-kp ul li:last-child { margin-right: 0%; } .code-box-demo .demo-content .demo-kp ul li:after { width: 60%; height: 5px; background: #ebeded; float: left; margin-top: 7px; } .code-box-demo .demo-content .demo-kp ul li:before { background: #ebeded; float: left; width: 15px; height: 15px; margin:2px 10% 0 0; } .code-box-demo .demo-footer { margin-top: 10px; background: #cacaca; height: 40px; float: left; width: 100%; display: table; } .code-box-demo .demo-footer:before { width: 60%; height: 5px; background: #ededed; margin: 10px auto 0; } .code-box-demo .demo-footer:after { width: 30%; height: 5px; background: #ededed; margin: 5px auto; } .code-box-demo .demo-header ul li:before, .code-box-demo .demo-content .demo-kp ul li:before, .code-box-demo .demo-content .demo-kp ul li:after, .code-box-demo .demo-content .demo-listBox .demo-list .title:before, .code-box-demo .demo-content .demo-listBox .demo-list .title:after, .code-box-demo .demo-content .demo-listBox .demo-list ul li:before, .code-box-demo .demo-content .demo-listBox .demo-list ul li:after, .code-box-demo .demo-footer:before, .code-box-demo .demo-footer:after { display: block; content: ""; } </style>当以上数据为Array时,
['left', 'top']第一个为enter数据, 第二个为leave数据;