zoukankan      html  css  js  c++  java
  • vue的tab选项卡及tab下面的线过渡滑动效果

    <template>
      <div>
        <div class="risk-tab-top">
          <div
            class="risk-tab-cont"
            @click="tabChange(index)"
            v-for="(item,index) in tabList "
            :class="[activeIndex == index?'risk-active':'']"
            :key="index"
          >{{item}}</div>
          <div
            class="risk-active-line"
            :class="[activeIndex == 0?'risk-active-line-f':'risk-active-line-r']"
          ></div>
        </div>
        <ul class="risk-cont">
          <li v-show="activeIndex == 0">111111111111</li>
          <li v-show="activeIndex == 1">22222222222222</li>
        </ul>
      </div>
    </template>
    
    <script>
    export default {
      name: '',
      components: {},
      mixins: [],
      props: {},
      data() {
        return {
          tabList: ['就近搜索', '指定搜索'],
          contList: ['11111111', '2222222222'],
          activeIndex: 0
        };
      },
      watch: {},
      computed: {},
      created() {},
      mounted() {},
      destroyed() {},
      methods: {
        tabChange(val) {
          this.activeIndex = val;
          console.log(val);
        }
      }
    };
    </script>
    <style lang="less"  scoped>
    .risk-tab-top {
      color: #fff;
      display: flex;
      flex-direction: row;
       100%;
      position: relative;
      justify-content: center;
      .risk-tab-cont {
        cursor: pointer;
    
         71px;
        text-align: center;
        font-size: 16px;
        height: 28px;
        margin: auto 25px;
        box-sizing: border-box;
      }
      .risk-active {
        color: #00ffff;
      }
      .risk-active-line {
         71px;
        height: 2px;
        background: rgba(0, 255, 255, 1);
        position: absolute;
        top: 28px;
        left: 166px;
        transition: all 0.3s ease;
      }
      .risk-active-line-f {
        left: 166px;
      }
      .risk-active-line-r {
        left: 288px;
      }
    }
    .risk-cont {
      color: #fff;
    }
    </style>

    需要注意的是

       transition: all 0.3s ease;
      }
      .risk-active-line-f {
        left: 166px;
      }
      .risk-active-line-r {
        left: 288px;
      }
    优化后
     .risk-active-line-f {
        transform: translate3d(0, 0, 0);
      }
      .risk-active-line-r {
        transform: translate3d(120px, 0, 0);
      }

    这种写法比上面相对好操作

     
  • 相关阅读:
    C#中List<T>用法
    windows phone中,将crash report记录下来,写入文件,方便分析
    解决问题之,wp项目中使用MatchCollection正则表达式匹配出错
    提问的智慧
    toolkit,phonetextbox中实现用户按回车键会换行
    Hibernate主键生成策略
    hibernate.cfg.xml位置及JDBC配置
    Java与数字签名
    MyEclipse不能编译的一种解决方法
    java读文件和写文件编码方式的控制
  • 原文地址:https://www.cnblogs.com/lsc-boke/p/12322211.html
Copyright © 2011-2022 走看看