CSSTab(CSS Tab)是一种使用纯CSS实现选项卡切换效果的技术。它不需要JavaScript,完全依赖于CSS的伪类选择器和兄弟选择器来实现。下面是一个简单的CSSTab效果的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSSTab Example</title>
<style>
.tab-container {
display: flex;
border-bottom: 1px solid #ccc;
}
.tab {
padding: 10px 20px;
cursor: pointer;
}
.tab.active {
border-bottom: 2px solid #007bff;
font-weight: bold;
}
.tab-content {
display: none;
padding: 20px;
}
.tab-content.active {
display: block;
}
</style>
</head>
<body>
<div class="tab-container">
<div class="tab active" data-tab="tab1">Tab 1</div>
<div class="tab" data-tab="tab2">Tab 2</div>
<div class="tab" data-tab="tab3">Tab 3</div>
</div>
<div class="tab-content active" data-tab="tab1">
Content for Tab 1
</div>
<div class="tab-content" data-tab="tab2">
Content for Tab 2
</div>
<div class="tab-content" data-tab="tab3">
Content for Tab 3
</div>
<script>
document.querySelectorAll('.tab').forEach(tab => {
tab.addEventListener('click', function() {
const targetTab = this.getAttribute('data-tab');
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
this.classList.add('active');
document.querySelector(`.tab-content[data-tab="${targetTab}"]`).classList.add('active');
});
});
</script>
</body>
</html>
CSSTab利用CSS的伪类选择器和兄弟选择器来实现选项卡的切换效果。通过点击不同的选项卡,对应的选项卡内容会显示或隐藏。
CSSTab主要分为两种类型:
CSSTab适用于以下场景:
MDN Web Docs - CSS Pseudo-classes
通过以上示例和解释,你应该能够理解CSSTab的基本概念、优势、类型和应用场景,并能够解决一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云