当前位置:首页 > VUE

tab反圆角实现vue

2026-01-20 16:21:15VUE

实现 Tab 反圆角效果的 Vue 方案

使用 CSS 自定义样式 通过 CSS 的 border-radius 和伪元素实现反圆角效果。为选中的 Tab 添加特定类名,通过负值调整圆角位置。

.tab-item {
  border-radius: 8px 8px 0 0;
  position: relative;
  overflow: hidden;
}

.tab-item.active {
  background: #fff;
}

.tab-item.active::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  height: 10px;
  background: #fff;
  border-radius: 0 0 8px 8px;
}

动态类名绑定 在 Vue 模板中使用 :class 动态绑定激活状态,结合点击事件切换 Tab。

<template>
  <div class="tabs">
    <div 
      v-for="(tab, index) in tabs"
      :key="index"
      class="tab-item"
      :class="{ active: activeTab === index }"
      @click="activeTab = index"
    >
      {{ tab.title }}
    </div>
  </div>
</template>

使用 SVG 路径裁剪 对于更复杂的反圆角形状,可以通过 SVG 的 clip-path 实现自定义路径裁剪。

.tab-item.active {
  clip-path: path('M0,0 L100,0 L100,80 Q80,100 60,80 L40,80 Q20,100 0,80 Z');
}

组件化封装 将 Tab 逻辑封装为可复用组件,通过插槽和 props 控制内容和样式。

<template>
  <div class="custom-tabs">
    <slot 
      name="tab"
      v-for="(tab, index) in tabs"
      :tab="tab"
      :is-active="activeTab === index"
      @click="selectTab(index)"
    />
  </div>
</template>

响应式设计考虑 通过媒体查询调整圆角大小和间距,确保在不同屏幕尺寸下效果一致。

@media (max-width: 768px) {
  .tab-item {
    border-radius: 4px 4px 0 0;
  }
}

tab反圆角实现vue

标签: 圆角tab
分享给朋友:

相关文章

vue怎么实现 tab

vue怎么实现 tab

Vue 实现 Tab 的方法 使用动态组件和 v-if 通过动态组件或 v-if 指令切换不同 Tab 内容,结合点击事件改变当前激活的 Tab。 <template> <d…

vue 怎么实现tab

vue 怎么实现tab

实现 Tab 的基本方法 在 Vue 中实现 Tab 功能可以通过动态组件或条件渲染完成。以下是一个使用 v-if 和 v-for 的常见方案: <template> <di…

css制作圆角矩形

css制作圆角矩形

使用 border-radius 属性 在 CSS 中,border-radius 是制作圆角矩形的主要属性。该属性可以接受一个或多个值,用于定义元素的四个角的圆角半径。 .rounded-rect…

vue实现tab切换

vue实现tab切换

Vue实现Tab切换的方法 使用v-show指令 通过v-show控制不同tab内容的显示与隐藏,结合点击事件切换当前激活的tab。 <template> <div&g…

vue实现一个tab栏

vue实现一个tab栏

Vue 实现 Tab 栏 基础实现 创建 Tabs 和 Tab 组件,通过 v-model 控制当前激活的标签页。 Tabs.vue <template> <div cl…

vue  实现tab

vue 实现tab

Vue 实现 Tab 切换 在 Vue 中实现 Tab 切换功能可以通过动态组件或条件渲染完成。以下是两种常见方法: 动态组件实现 使用 Vue 的 <component> 动态组件结合…