当前位置:首页 > CSS

css制作tab菜单

2026-01-08 18:44:22CSS

CSS制作Tab菜单的方法

HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。

<ul class="tab-menu">
  <li class="active">标签1</li>
  <li>标签2</li>
  <li>标签3</li>
</ul>
<div class="tab-content">
  <div class="active">内容1</div>
  <div>内容2</div>
  <div>内容3</div>
</div>

基础CSS样式 设置标签页横向排列,内容区域隐藏非激活状态元素。

.tab-menu {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid #ddd;
}
.tab-menu li {
  padding: 10px 20px;
  cursor: pointer;
  border: 1px solid transparent;
  border-bottom: none;
}
.tab-menu li.active {
  border-color: #ddd;
  border-bottom-color: white;
  margin-bottom: -1px;
}
.tab-content div {
  display: none;
  padding: 20px;
  border: 1px solid #ddd;
  border-top: none;
}
.tab-content div.active {
  display: block;
}

悬停效果增强 为标签页添加鼠标悬停交互效果。

.tab-menu li:hover {
  background-color: #f5f5f5;
}

JavaScript交互控制 通过class切换实现标签页切换功能。

document.querySelectorAll('.tab-menu li').forEach(tab => {
  tab.addEventListener('click', () => {
    const index = Array.from(tab.parentNode.children).indexOf(tab);
    document.querySelector('.tab-menu .active').classList.remove('active');
    document.querySelector('.tab-content .active').classList.remove('active');
    tab.classList.add('active');
    document.querySelectorAll('.tab-content div')[index].classList.add('active');
  });
});

响应式设计 针对移动设备调整布局。

@media (max-width: 600px) {
  .tab-menu {
    flex-direction: column;
  }
  .tab-menu li {
    border-bottom: 1px solid #ddd;
  }
  .tab-menu li.active {
    border-bottom-color: white;
  }
}

动画过渡效果 为内容切换添加平滑过渡动画。

.tab-content div {
  opacity: 0;
  transition: opacity 0.3s ease;
  height: 0;
  overflow: hidden;
}
.tab-content div.active {
  opacity: 1;
  height: auto;
}

css制作tab菜单

标签: 菜单css
分享给朋友:

相关文章

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动…

vue菜单实现

vue菜单实现

Vue 菜单实现方法 使用 Element UI 的菜单组件 Element UI 提供了现成的菜单组件,适合快速实现导航菜单。安装 Element UI 后,可以直接使用 el-menu 相关组件。…

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 在Vue中实现菜单功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-for动态生成菜单 通过数据驱动的方式动态渲染菜单项,适合菜单内容可能变化的场景: <t…

vue实现菜单定位

vue实现菜单定位

实现菜单定位的方法 在Vue中实现菜单定位功能,可以通过监听滚动事件或使用Intersection Observer API来判断当前显示的菜单项,并高亮对应的导航链接。以下是几种常见的实现方式:…

vue实现左右菜单联动实现

vue实现左右菜单联动实现

Vue 实现左右菜单联动 使用事件总线通信 在 Vue 中可以通过事件总线实现左右菜单的通信。创建一个中央事件总线实例,让左右菜单通过事件监听和触发实现联动。 // eventBus.js impo…

vue实现左右菜单

vue实现左右菜单

实现左右菜单的基本思路 使用Vue实现左右菜单通常需要两个主要组件:左侧的导航菜单和右侧的内容区域。左侧菜单用于导航,右侧区域根据菜单选择动态展示内容。 创建左侧菜单组件 左侧菜单通常是一个列表,…