当前位置:首页 > 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>

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

tab反圆角实现vue

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

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

相关文章

vue顶部tab实现

vue顶部tab实现

实现顶部 Tab 的基本方法 在 Vue 中实现顶部 Tab 可以通过多种方式完成,常见的有使用 v-for 动态生成 Tab 标签,结合 v-show 或 v-if 控制内容显示。 <tem…

vue实现tab栏切换

vue实现tab栏切换

Vue实现Tab栏切换的方法 使用v-if/v-show指令 通过v-if或v-show控制不同tab内容的显示与隐藏。v-if会销毁和重建DOM元素,适合切换频率低的内容;v-show通过CSS的d…

vue tab实现顶部导航

vue tab实现顶部导航

vue实现顶部导航tab的方法 使用v-for动态生成tab 通过v-for指令遍历数据数组动态生成tab项,结合v-bind绑定动态class控制选中状态。 <template>…

react 实现tab切换

react 实现tab切换

实现Tab切换的基本思路 在React中实现Tab切换功能,通常需要管理当前激活的Tab状态,并通过条件渲染或样式变化来显示对应的内容。以下是几种常见的实现方式。 使用useState管理状态 通过…

css怎么制作圆角

css怎么制作圆角

使用 border-radius 属性 CSS 的 border-radius 属性是最直接的方法来制作圆角。该属性可以接受一个或多个值,用于定义元素的四个角的圆角半径。 .element {…

js实现tab切换

js实现tab切换

实现Tab切换的JavaScript方法 通过JavaScript实现Tab切换功能,可以增强用户交互体验。以下是几种常见的实现方式。 使用classList切换样式 HTML结构需要包含tab按钮…