当前位置:首页 > CSS

css 制作tab页

2026-04-01 19:17:07CSS

使用HTML和CSS制作Tab页

通过HTML结构和CSS样式可以轻松实现Tab页效果,以下是两种常见方法:

方法一:纯CSS实现Tab切换

HTML结构:

<div class="tabs">
  <input type="radio" name="tabs" id="tab1" checked>
  <label for="tab1">Tab 1</label>
  <div class="tab-content">内容1</div>

  <input type="radio" name="tabs" id="tab2">
  <label for="tab2">Tab 2</label>
  <div class="tab-content">内容2</div>

  <input type="radio" name="tabs" id="tab3">
  <label for="tab3">Tab 3</label>
  <div class="tab-content">内容3</div>
</div>

CSS样式:

css 制作tab页

.tabs {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.tabs input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.tabs label {
  padding: 10px 20px;
  cursor: pointer;
  background: #eee;
  margin-right: 5px;
  border-radius: 5px 5px 0 0;
}

.tabs input[type="radio"]:checked + label {
  background: #4CAF50;
  color: white;
}

.tab-content {
  width: 100%;
  padding: 20px;
  background: white;
  display: none;
  order: 1;
}

.tabs input[type="radio"]:checked + label + .tab-content {
  display: block;
}

方法二:使用Flex布局的Tab

HTML结构:

<div class="tab-container">
  <div class="tab-header">
    <div class="tab-btn active" data-tab="tab1">Tab 1</div>
    <div class="tab-btn" data-tab="tab2">Tab 2</div>
    <div class="tab-btn" data-tab="tab3">Tab 3</div>
  </div>
  <div class="tab-content active" id="tab1">内容1</div>
  <div class="tab-content" id="tab2">内容2</div>
  <div class="tab-content" id="tab3">内容3</div>
</div>

CSS样式:

css 制作tab页

.tab-container {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.tab-header {
  display: flex;
  border-bottom: 1px solid #ddd;
}

.tab-btn {
  padding: 10px 20px;
  cursor: pointer;
  background: #f1f1f1;
  margin-right: 5px;
  border-radius: 5px 5px 0 0;
}

.tab-btn.active {
  background: #4CAF50;
  color: white;
}

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

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

添加交互效果的JavaScript

如果需要更动态的效果,可以添加简单JavaScript:

document.querySelectorAll('.tab-btn').forEach(btn => {
  btn.addEventListener('click', () => {
    // 移除所有active类
    document.querySelectorAll('.tab-btn, .tab-content').forEach(el => {
      el.classList.remove('active');
    });

    // 为当前按钮和对应内容添加active类
    btn.classList.add('active');
    const tabId = btn.getAttribute('data-tab');
    document.getElementById(tabId).classList.add('active');
  });
});

响应式设计考虑

为适应不同屏幕尺寸,可以添加媒体查询:

@media (max-width: 600px) {
  .tab-header {
    flex-direction: column;
  }

  .tab-btn {
    margin-right: 0;
    margin-bottom: 5px;
    border-radius: 5px;
  }
}

这些方法提供了从简单到复杂的Tab页实现方案,可根据项目需求选择适合的方式。纯CSS方案适合简单场景,而JavaScript增强版本则提供更多交互可能性。

标签: csstab
分享给朋友:

相关文章

css制作许愿墙六块

css制作许愿墙六块

CSS 制作许愿墙六块布局 使用 CSS 创建一个六块许愿墙布局可以通过多种方式实现,以下是两种常见的方法:使用 CSS Grid 或 Flexbox。以下代码示例展示了如何实现这两种布局。 方法一…

制作css开关

制作css开关

使用纯CSS创建开关 HTML结构需要包含一个隐藏的复选框和一个关联的标签元素: <label class="switch"> <input type="checkbox"&g…

css奖状制作

css奖状制作

使用CSS制作奖状 奖状制作可以通过CSS结合HTML实现,适用于网页展示或打印。以下是几种常见的设计方法: 基础奖状结构 HTML框架用于定义奖状内容,CSS负责样式设计。 <div cl…

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯CSS和少量JavaScript可以创建一个动态的时钟。以下是实现步骤: HTML结构 <div class="clock"> <div…

css样式表制作

css样式表制作

CSS样式表制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过CSS可以定义字体、颜色、布局等样式属性。 基本语法结构 选择器 { 属性: 值; 属性: 值; } 示例代码 body {…

css 字体库制作

css 字体库制作

字体库制作方法 使用 @font-face 规则在 CSS 中嵌入自定义字体,确保网页显示特定字体。 基本语法 @font-face { font-family: 'MyCustomFont'…