…">
当前位置:首页 > 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…

vue制作css

vue制作css

在Vue中制作CSS的方法 Vue提供了多种灵活的方式来编写和管理CSS,可以根据项目需求选择适合的方法。 使用内联样式 内联样式可以直接在Vue组件的模板中编写,适用于简单的样式需求。 <…

css制作滑动切换

css制作滑动切换

使用CSS实现滑动切换效果 方法一:使用CSS Transition和Transform 通过transition和transform属性实现平滑的滑动动画效果。 .slider-container…

css 制作购物网站

css 制作购物网站

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

制作css表格

制作css表格

基础CSS表格结构 使用HTML的<table>标签创建表格骨架,搭配CSS控制样式。以下是一个基础示例: <table class="styled-table"> &l…

css制作tkd

css制作tkd

CSS 制作 TKD(Title, Keywords, Description) TKD(Title, Keywords, Description)是网页 SEO 优化的核心元素,通常通过 HTML…