当前位置:首页 > CSS

纯css制作tab菜单

2026-02-26 22:13:24CSS

纯CSS制作Tab菜单的方法

使用纯CSS实现Tab菜单可以通过:target伪类或:checked伪类结合相邻兄弟选择器完成。以下是两种常见方法:

使用:target伪类

HTML结构:

纯css制作tab菜单

<div class="tabs">
  <nav>
    <a href="#tab1">Tab 1</a>
    <a href="#tab2">Tab 2</a>
    <a href="#tab3">Tab 3</a>
  </nav>
  <div id="tab1" class="tab-content">内容1</div>
  <div id="tab2" class="tab-content">内容2</div>
  <div id="tab3" class="tab-content">内容3</div>
</div>

CSS样式:

纯css制作tab菜单

.tab-content {
  display: none;
  padding: 20px;
  border: 1px solid #ddd;
}

.tab-content:target {
  display: block;
}

nav a {
  display: inline-block;
  padding: 10px 15px;
  background: #eee;
  text-decoration: none;
}

nav a:hover {
  background: #ddd;
}

使用隐藏单选框和:checked伪类

HTML结构:

<div class="tabs">
  <input type="radio" name="tabs" id="tab1" checked>
  <label for="tab1">Tab 1</label>

  <input type="radio" name="tabs" id="tab2">
  <label for="tab2">Tab 2</label>

  <input type="radio" name="tabs" id="tab3">
  <label for="tab3">Tab 3</label>

  <div class="tab-content" id="content1">内容1</div>
  <div class="tab-content" id="content2">内容2</div>
  <div class="tab-content" id="content3">内容3</div>
</div>

CSS样式:

input[type="radio"] {
  display: none;
}

label {
  display: inline-block;
  padding: 10px 15px;
  background: #eee;
  cursor: pointer;
}

.tab-content {
  display: none;
  padding: 20px;
  border: 1px solid #ddd;
}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3 {
  display: block;
}

input[type="radio"]:checked + label {
  background: #ddd;
  font-weight: bold;
}

样式优化建议

  • 添加过渡效果使切换更平滑
  • 使用CSS变量统一管理颜色
  • 为活动标签页添加高亮样式
  • 响应式设计适配移动端

两种方法各有特点::target方案无需JavaScript但会修改URL哈希;单选框方案更稳定但需要合理组织HTML结构。根据具体需求选择合适方案。

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

相关文章

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="horiz…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-nav…

css怎么制作首字下沉

css怎么制作首字下沉

首字下沉的实现方法 首字下沉是一种常见的排版效果,通过放大段落的首字母并使其下沉,可以增强文本的视觉吸引力。以下是几种实现方法: 使用::first-letter伪元素 通过CSS的::first-…

css制作卷边效果

css制作卷边效果

使用伪元素和渐变实现卷边效果 通过CSS伪元素和线性渐变可以模拟纸张卷边的视觉效果。这种方法不需要额外元素,仅通过::before或::after伪元素实现。 .element { positi…

css 制作购物网站

css 制作购物网站

布局设计 使用CSS Grid或Flexbox创建响应式布局。Grid适合整体页面结构,Flexbox适合局部组件排列。定义网格模板区域,如头部、导航、商品展示区、侧边栏和页脚。 .containe…

制作 .css

制作 .css

创建 CSS 文件的基本步骤 新建一个文本文件,将其保存为 .css 扩展名(例如 style.css)。使用纯文本编辑器(如 Notepad++、VS Code 或 Sublime Text)编写…