css做圆滑展开和收起

本文介绍了如何通过改变`.select-content`的max-height和active-list状态,配合CSS动画,实现在条件触发下下拉选项列表的流畅展开。核心在于利用元素外层容器的高度控制,确保充分展示所有选项。
摘要由CSDN通过智能技术生成

思路使用元素外层的container的max-height来实现

<div class="select-content" :class="[isShowList?'active-list':'']">
  <div class="item" v-for="(item,index) in options1" :key="index" @click="itemClick(item)">
    <span :style="{color:(item.Key === crunent?'#2BA0FF':'')}">{{item.Key}}</span>
    <Icon name="success" v-if="item.Key === crunent" :style="{color:(item.Key === crunent?'#2BA0FF':'')}" />
  </div>
</div>

组件中正常是未打开 select-content 在某种条件触发以后 类名会加一个active-list,接下来看我们的样式 记得展开后的高度一定要足够能够撑开你的元素 尽可能的大一点 再加上我们的一些过渡动画

.select-content{
   max-height: 0;
   overflow: hidden;
   transition: all ease-in-out .3s;
   .item{
     padding:0 24px ;
     display: flex;
     justify-content: space-between;
     align-items: center;
     height: 70px;
     border-bottom: 2px solid #f0f0f0;
   }
 }
 .active-list{
    transition: all ease-in-out .3s;
    max-height: 500px;
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值