Vue2实现tab切换

Vue2实现tab切换

以下代码实现了一个tab切换的功能,点击不同的tab会切换到对应的内容,并且选中的tab文字带下划线,下划线宽度比文字宽度短,并且与文字居中。

html 复制代码
<template>
  <div>
    <div class="tabs">
      <div 
        v-for="(tab, index) in tabs" 
        :key="index" 
        class="tab" 
        :class="{ 'active': activeTab === index }"
        @click="activeTab = index"
      >
        {{ tab }}
        <div class="underline" v-if="activeTab === index"></div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tabs: ['Tab 1', 'Tab 2', 'Tab 3'],
      activeTab: 0
    }
  }
}
</script>

<style>
.tabs {
  display: flex;
  justify-content: space-around;
}

.tab {
  position: relative;
  padding: 10px;
  cursor: pointer;
}

.underline {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 2px;
  background-color: black;
}

.active {
  font-weight: bold;
}

.active .underline {
  display: block;
}
</style>
相关推荐
霉运全滚蛋好运围着转1 天前
启动 Taro 4 项目报错:Error: The specified module could not be found.
前端
cxxcode1 天前
前端模块化发展
前端
不务正业的前端学徒1 天前
docker+nginx部署
前端
不务正业的前端学徒1 天前
webpack/vite配置
前端
hhcccchh1 天前
学习vue第八天 Vue3 模板语法和内置指令 - 简单入门
前端·vue.js·学习
yyf198905251 天前
Vue 框架相关中文文献
前端·javascript·vue.js
粥里有勺糖1 天前
开发一个美观的 VitePress 图片预览插件
前端·vue.js·vitepress
行者961 天前
Flutter适配OpenHarmony:国际化i18n实现中的常见陷阱与解决方案
开发语言·javascript·flutter·harmonyos·鸿蒙
陟上青云1 天前
一篇文章带你搞懂原型和原型链
前端
我的写法有点潮1 天前
推荐几个国外比较流行的UI库(上)
前端·javascript·css