纯CSS Tabs选项卡是一种使用纯CSS实现的无JavaScript的选项卡切换效果。它通过CSS的伪类选择器和兄弟选择器等特性,实现点击或悬停时切换显示不同的内容区域。
以下是一个简单的纯CSS Tabs选项卡的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pure CSS Tabs</title>
<style>
.tabs {
display: flex;
}
.tab {
padding: 10px;
cursor: pointer;
}
.tab:hover,
.tab.active {
background-color: #ddd;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
</style>
</head>
<body>
<div class="tabs">
<div class="tab active" data-tab="1">Tab 1</div>
<div class="tab" data-tab="2">Tab 2</div>
<div class="tab" data-tab="3">Tab 3</div>
</div>
<div class="tab-contents">
<div class="tab-content active" data-tab="1">Content 1</div>
<div class="tab-content" data-tab="2">Content 2</div>
<div class="tab-content" data-tab="3">Content 3</div>
</div>
<script>
document.querySelectorAll('.tab').forEach(tab => {
tab.addEventListener('click', () => {
const tabId = tab.getAttribute('data-tab');
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
tab.classList.add('active');
document.querySelector(`.tab-content[data-tab="${tabId}"]`).classList.add('active');
});
});
</script>
</body>
</html>data-tab属性与选项卡内容对应。通过以上方法,可以解决大部分纯CSS Tabs选项卡实现过程中遇到的问题。