📅  最后修改于: 2023-12-03 15:31:18.122000             🧑  作者: Mango
HTML 选项卡是一个非常有用的功能,可以帮助我们在一个页面中同时显示多个内容或者内容选项,增加页面的交互性和可读性。运用 HTML 选项卡可以在同一页面内展现不同内容和选项卡,通过一定的代码操作和CSS样式设置,实现用户点击选项卡,自动切换到对应内容的效果。
下面是展示 HTML 选项卡
的核心代码片段, 代码行数较少,实现起来也较简单。
html代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Html 选项卡</title>
<link rel="stylesheet" href="./tab.css">
<script src="./tab.js"></script>
</head>
<body>
<div class="tab">
<div class="tab-header">
<ul>
<li class="active"><a href="#tab1">选项卡一</a></li>
<li><a href="#tab2">选项卡二</a></li>
<li><a href="#tab3">选项卡三</a></li>
</ul>
</div>
<div class="tab-content">
<div class="active" id="tab1">选项卡一的内容</div>
<div id="tab2">选项卡二的内容</div>
<div id="tab3">选项卡三的内容</div>
</div>
</div>
</body>
</html>
CSS代码
.tab .tab-header ul {
list-style: none;
margin: 0;
padding: 0;
}
.tab .tab-header ul li {
float: left;
}
.tab .tab-header ul li.active a {
background-color: #ccc;
}
.tab .tab-content div {
display: none;
}
.tab .tab-content div.active {
display: block;
}
JS代码
const tabHeader = document.querySelector('.tab-header');
const tabHeaderLi = tabHeader.querySelectorAll('li');
const tabContent = document.querySelector('.tab-content').children;
for (let i = 0; i < tabHeaderLi.length; i++) {
tabHeaderLi[i].addEventListener('click', function() {
for (let j = 0; j < tabHeaderLi.length; j++) {
tabHeaderLi[j].className = '';
tabContent[j].className = '';
}
this.className = 'active';
tabContent[i].className = 'active';
});
}
我们先来看看HTML结构:
<div class="tab">
<div class="tab-header">
<ul>
<li class="active"><a href="#tab1">选项卡一</a></li>
<li><a href="#tab2">选项卡二</a></li>
<li><a href="#tab3">选项卡三</a></li>
</ul>
</div>
<div class="tab-content">
<div class="active" id="tab1">选项卡一的内容</div>
<div id="tab2">选项卡二的内容</div>
<div id="tab3">选项卡三的内容</div>
</div>
</div>
tab
是包裹整个页面的父级容器,用于定位和布局。tab-header
是选项卡的头部容器。tab-content
是选项卡的内容容器。li
是选项卡的每个选项,这里是三个选项卡。div
标签包裹。接下来是CSS样式:
.tab .tab-header ul {
list-style: none;
margin: 0;
padding: 0;
}
.tab .tab-header ul li {
float: left;
}
.tab .tab-header ul li.active a {
background-color: #ccc;
}
.tab .tab-content div {
display: none;
}
.tab .tab-content div.active {
display: block;
}
ul
水平排列,并去除列表默认样式。.active
来显示选项卡对应的内容。最后是JS脚本:
const tabHeader = document.querySelector('.tab-header');
const tabHeaderLi = tabHeader.querySelectorAll('li');
const tabContent = document.querySelector('.tab-content').children;
for (let i = 0; i < tabHeaderLi.length; i++) {
tabHeaderLi[i].addEventListener('click', function() {
for (let j = 0; j < tabHeaderLi.length; j++) {
tabHeaderLi[j].className = '';
tabContent[j].className = '';
}
this.className = 'active';
tabContent[i].className = 'active';
});
}
.active
类,以达到激活当前选项卡和对应内容的效果。通过本文的介绍,我们学习了如何使用 HTML 实现选项卡,并且实现了三个具体的选项卡实例。HTML 选项卡的实现代码并不复杂,但是需要合理的CSS样式处理和JS绑定事件的操作。选项卡可以应用于很多领域,如导航栏,内容分类,页面呈现等,对于WEB开发来说是一个不错的组件。