纯CSS选项卡是一种使用CSS和HTML实现的无JavaScript的选项卡切换效果。它通过CSS的伪类(如:hover
、:checked
等)和兄弟选择器(~
)或子选择器(>
)来实现选项卡的切换效果。
:hover
的选项卡:通过鼠标悬停触发选项卡切换。:checked
的选项卡:通过单选按钮的选中状态触发选项卡切换。以下是一个基于:checked
的纯CSS选项卡示例:
<!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-label {
display: block;
padding: 10px;
border: 1px solid #ccc;
}
.tab-content {
display: none;
padding: 10px;
border: 1px solid #ccc;
}
input[type="radio"] {
display: none;
}
input[type="radio"]:checked + .tab-label {
background-color: #ddd;
}
input[type="radio"]:checked + .tab-label + .tab-content {
display: block;
}
</style>
</head>
<body>
<div class="tabs">
<input type="radio" id="tab1" name="tabs" checked>
<label for="tab1" class="tab-label">Tab 1</label>
<div class="tab-content">Content 1</div>
<input type="radio" id="tab2" name="tabs">
<label for="tab2" class="tab-label">Tab 2</label>
<div class="tab-content">Content 2</div>
<input type="radio" id="tab3" name="tabs">
<label for="tab3" class="tab-label">Tab 3</label>
<div class="tab-content">Content 3</div>
</div>
</body>
</html>
input[type="radio"]
、label
和div.tab-content
的顺序。:checked
伪类和相邻兄弟选择器(+
)的使用。通过以上方法,可以实现一个简单且高效的纯CSS选项卡效果。
领取专属 10元无门槛券
手把手带您无忧上云