…">
当前位置:首页 > CSS

css 制作tab页

2026-01-28 16:02:05CSS

使用HTML和CSS制作Tab页

Tab页是一种常见的用户界面元素,允许用户在不同内容之间切换。以下是几种实现Tab页的方法:

css 制作tab页

纯CSS实现方法

<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="tab" id="tab2">
  <label for="tab2">Tab 2</label>
  <div class="tab-content">内容2</div>

  <input type="radio" name="tab" id="tab3">
  <label for="tab3">Tab 3</label>
  <div class="tab-content">内容3</div>
</div>
.tabs {
  display: flex;
  flex-wrap: wrap;
}

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

.tabs label {
  padding: 10px 20px;
  background: #eee;
  cursor: pointer;
}

.tabs input[type="radio"]:checked + label {
  background: #ddd;
}

.tab-content {
  width: 100%;
  padding: 20px;
  background: #ddd;
  display: none;
}

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

使用CSS伪类和:hover实现

<div class="tab-container">
  <ul class="tabs">
    <li class="active">Tab 1</li>
    <li>Tab 2</li>
    <li>Tab 3</li>
  </ul>
  <div class="tab-content">
    <div class="active">内容1</div>
    <div>内容2</div>
    <div>内容3</div>
  </div>
</div>
.tab-container {
  width: 100%;
}

.tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.tabs li {
  padding: 10px 20px;
  background: #f1f1f1;
  cursor: pointer;
  margin-right: 5px;
}

.tabs li:hover,
.tabs li.active {
  background: #ddd;
}

.tab-content div {
  display: none;
  padding: 20px;
  background: #ddd;
}

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

使用CSS Grid布局实现

<div class="tab-grid">
  <button class="tab-btn active" data-tab="tab1">Tab 1</button>
  <button class="tab-btn" data-tab="tab2">Tab 2</button>
  <button class="tab-btn" data-tab="tab3">Tab 3</button>

  <div id="tab1" class="tab-panel active">内容1</div>
  <div id="tab2" class="tab-panel">内容2</div>
  <div id="tab3" class="tab-panel">内容3</div>
</div>
.tab-grid {
  display: grid;
  grid-template-areas:
    "btn1 btn2 btn3"
    "panel panel panel";
}

.tab-btn {
  padding: 10px 20px;
  background: #f1f1f1;
  border: none;
  cursor: pointer;
}

.tab-btn.active {
  background: #ddd;
}

.tab-panel {
  grid-area: panel;
  padding: 20px;
  background: #ddd;
  display: none;
}

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

添加动画效果

.tab-content {
  transition: all 0.3s ease;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

.tabs input[type="radio"]:checked + label + .tab-content {
  opacity: 1;
  height: auto;
  padding: 20px;
}

响应式设计考虑

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

  .tab-btn {
    width: 100%;
  }
}

以上方法提供了多种实现Tab页的方式,可以根据项目需求选择最适合的方案。纯CSS实现无需JavaScript,适合简单场景;更复杂的交互可能需要配合JavaScript实现。

标签: csstab
分享给朋友:

相关文章

css 制作导航

css 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul class…

css制作表格

css制作表格

使用HTML和CSS创建表格 HTML中的<table>元素用于创建表格,结合CSS可以调整样式。以下是一个基础示例: <table> <tr> &l…

css样式表制作

css样式表制作

CSS样式表制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过CSS可以定义字体、颜色、布局等样式属性。 内联样式 直接在HTML标签中使用style属性定义样式: <p style…

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; height:…

css立体相册制作

css立体相册制作

制作CSS立体相册 使用CSS3的3D变换和过渡效果可以创建一个立体相册。以下是一个基本的实现方法。 HTML结构 <div class="photo-album"> <di…

css制作便签

css制作便签

CSS制作便签的方法 使用CSS可以轻松创建具有便签效果的样式,以下是一种常见的实现方式: HTML结构 <div class="note"> <h3>便签标题<…