html div 做成页签,纯CSS实现页签切换效果
时间: 2023-07-16 16:14:42 浏览: 72
可以使用CSS和一点点JavaScript来实现页签切换效果。
HTML部分:
```
<div class="tab-container">
<div class="tab">Tab 1</div>
<div class="tab">Tab 2</div>
<div class="tab">Tab 3</div>
<div class="tab-content active">This is tab 1 content.</div>
<div class="tab-content">This is tab 2 content.</div>
<div class="tab-content">This is tab 3 content.</div>
</div>
```
CSS部分:
```
.tab-container {
display: flex;
flex-wrap: wrap;
}
.tab {
padding: 10px 20px;
background-color: #f0f0f0;
border: 1px solid #ccc;
cursor: pointer;
margin-right: 10px;
margin-bottom: 10px;
}
.tab.active {
background-color: #ccc;
}
.tab-content {
display: none;
padding: 20px;
}
.tab-content.active {
display: block;
}
```
JavaScript部分:
```
const tabs = document.querySelectorAll('.tab');
const tabContents = document.querySelectorAll('.tab-content');
tabs.forEach(tab => {
tab.addEventListener('click', () => {
// 移除所有页签和内容的 active 类
tabs.forEach(tab => tab.classList.remove('active'));
tabContents.forEach(content => content.classList.remove('active'));
// 添加当前选中页签和内容的 active 类
tab.classList.add('active');
const targetContent = document.querySelector(`.${tab.dataset.target}`);
targetContent.classList.add('active');
});
});
```
其中,`.tab` 元素中的 `data-target` 属性用来确定对应的 `.tab-content` 元素。
这样,当用户点击某个页签时,JavaScript代码会移除所有页签和内容的 `active` 类,然后给当前选中的页签和内容添加 `active` 类,从而实现页签切换效果。