当前位置:首页 > 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 和少量 JavaScript 可以制作一个动态时钟。以下是实现步骤: HTML 结构 <div class="clock"> <div…

css如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

css导航制作ppt

css导航制作ppt

CSS导航制作PPT的方法 使用CSS制作导航菜单,并将其应用于PPT演示中,可以通过以下方法实现: 设计导航菜单结构 在HTML中创建导航菜单的基本结构,通常使用<ul>和<li…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…

div css制作导航

div css制作导航

导航栏的基本结构 使用HTML的<nav>标签包裹导航链接,内部通常采用无序列表<ul>和列表项<li>结构。示例代码如下: <nav> <…

css字体制作

css字体制作

使用 @font-face 自定义字体 通过 @font-face 规则引入自定义字体文件(如 .woff, .woff2, .ttf)。需定义字体名称和文件路径: @font-face {…