CSS三个标题及对应内容的tab切换

要实现CSS三个标题及对应内容的tab切换,你可以使用纯HTML和CSS来完成。这里有一个简单的示例,展示了如何创建三个标题及其对应内容的tab切换效果:

HTML部分:

html

<div class="tabs">

<div class="tab" id="tab1">标题1</div>

<div class="tab" id="tab2">标题2</div>

<div class="tab" id="tab3">标题3</div>

<div class="tab-content" id="content1">

<p>这是标题1对应的内容。</p>

</div>

<div class="tab-content" id="content2">

<p>这是标题2对应的内容。</p>

</div>

<div class="tab-content" id="content3">

<p>这是标题3对应的内容。</p>

</div>

</div>

CSS部分:

css

.tabs {

display: flex;

flex-direction: column;

}

.tab {

cursor: pointer;

padding: 10px;

border: 1px solid #ccc;

margin-bottom: 5px;

}

.tab-content {

max-height: 0;

overflow: hidden;

transition: max-height 0.5s ease-in-out;

background-color: #f5f5f5;

padding: 10px;

border: 1px solid #ccc;

}

.tab-content.active {

max-height: 1000px; /* 根据你的内容调整这个值 */

}

JavaScript部分(用于切换tab):

javascript

const tabs = document.querySelectorAll('.tab');

const tabContents = document.querySelectorAll('.tab-content');

tabs.forEach((tab, index) => {

tab.addEventListener('click', () => {

tabContents.forEach(tabContent => {

tabContent.classList.remove('active');

});

tabContents[index].classList.add('active');

});

});

这个示例中,.tab 类用于表示每个标题,.tab-content 类用于表示每个标题对应的内容。默认情况下,所有内容的 max-height 设置为0,并且使用 overflow: hidden 来隐藏它们。当点击一个标题时,使用JavaScript来添加 active 类到对应的内容上,从而将 max-height 设置为一个较大的值来显示内容。你可以根据需要调整CSS中的样式和过渡效果。

相关推荐
码上成长1 小时前
JavaScript 数组合并性能优化:扩展运算符 vs concat vs 循环 push
开发语言·javascript·ecmascript
油丶酸萝卜别吃1 小时前
Mapbox GL JS 表达式 (expression) 条件样式设置 完全指南
开发语言·javascript·ecmascript
摘星编程2 小时前
用React Native开发OpenHarmony应用:timing定时动画参数
javascript·react native·react.js
JosieBook2 小时前
【Vue】12 Vue技术—— Vue 事件修饰符详解:掌握事件处理的高级技巧
前端·javascript·vue.js
摘星编程2 小时前
在OpenHarmony上用React Native实现AnimatedValue补间动画
javascript·react native·react.js
摘星编程3 小时前
React Native鸿蒙版:AnimatedXY双轴动画完整代码
javascript·react native·react.js
艾斯特_3 小时前
Echarts常用配置项及解释
前端·javascript·echarts
m0_502724953 小时前
飞书真机调试
开发语言·前端·javascript
lkbhua莱克瓦244 小时前
JavaScript核心语法
开发语言·前端·javascript·笔记·html·ecmascript·javaweb
Trae1ounG4 小时前
这是什么dom
前端·javascript·vue.js