HTML+CSS原生选项卡功能详解
2024-06-12Web前端
本文通过原生html、css、js等语言,简单实现了选项卡功能,通俗易懂,适合小白入门学习。
以下是一个简单的HTML和CSS实现的选项卡功能,默认情况下第一个选项卡被选中:
html--------------------------------------------------------- <div class="article_list_cate"> <a class="article_list_cate_a article_list_active" onclick="openTab(event,'tab1')" href="javascript:;"><span>企业新闻</span></a> <a class="article_list_cate_a " onclick="openTab(event,'tab2')" href="javascript:;"><span>行业新闻</span></a> </div> <div id="tab1" class="article_list_cate_tab "> <div class="article_list_cate_tab_items"> <div class="article_list_cate_tab_top"> <div class="article_list_cate_tab_top——time"> 01/06/2024</div> <div class="article_list_cate_tab_top——time_list"> <a class="article_list_cate_tab_top——a" href="">立为激光获泰安市发展扶持专项资金</a> <a class="article_list_cate_tab_top——b">></a> </div> </div> </div> <div class="article_list_cate_tab_items"> <div class="article_list_cate_tab_top"> <div class="article_list_cate_tab_top——time"> 01/06/2024</div> <div class="article_list_cate_tab_top——time_list"> <a class="article_list_cate_tab_top——a" href="">立为激光获泰安市发展扶持专项资金</a> <a class="article_list_cate_tab_top——b">></a> </div> </div> </div> <div class="article_list_cate_tab_items"> <div class="article_list_cate_tab_top"> <div class="article_list_cate_tab_top——time"> 01/06/2024</div> <div class="article_list_cate_tab_top——time_list"> <a class="article_list_cate_tab_top——a" href="">立为激光获泰安市发展扶持专项资金</a> <a class="article_list_cate_tab_top——b">></a> </div> </div> </div> </div> <div id="tab2" style="display: none;" class="article_list_cate_tab "> <div class="article_list_cate_tab_items"> <div class="article_list_cate_tab_top"> <div class="article_list_cate_tab_top——time"> 01/06/2024</div> <div class="article_list_cate_tab_top——time_list"> <a class="article_list_cate_tab_top——a" href="">22222222</a> <a class="article_list_cate_tab_top——b">></a> </div> </div> </div> <div class="article_list_cate_tab_items"> <div class="article_list_cate_tab_top"> <div class="article_list_cate_tab_top——time"> 01/06/2024</div> <div class="article_list_cate_tab_top——time_list"> <a class="article_list_cate_tab_top——a" href="">22222222</a> <a class="article_list_cate_tab_top——b">></a> </div> </div> </div> <div class="article_list_cate_tab_items"> <div class="article_list_cate_tab_top"> <div class="article_list_cate_tab_top——time"> 01/06/2024</div> <div class="article_list_cate_tab_top——time_list"> <a class="article_list_cate_tab_top——a" href="">22222222</a> <a class="article_list_cate_tab_top——b">></a> </div> </div> </div> </div>
js----------------------------------------- <script> function openTab(event, tabName) { var tabs = document.querySelectorAll('.article_list_cate_tab'); tabs.forEach(tab => { tab.style.display = 'none'; }); // Remove active class from all a var tabButtons = document.querySelectorAll('.article_list_cate_a'); tabButtons.forEach(function(button) { button.classList.remove('article_list_active'); }); // Show the selected tab content document.getElementById(tabName).style.display = 'block'; // Add active class to the clicked button event.currentTarget.classList.add('article_list_active'); } </script>
css------------------------------------------ /*新闻列表页*/ .article_list——title{ font-size: 36px; line-height: 40px; text-align: center; color: #000; padding: 5% 0; } .article_list_active{ background-color: #f5f5f7; color: #3aa1d5 !important; } .article_list_cate{ margin-bottom: 40px; border-bottom: 1px solid #f5f5f7; display: flex; } .article_list_cate_a{ color: #000; margin-right: 5%; } .article_list_cate_a:hover{ color: #3aa1d5; transition: all 1s; background-color: #f5f5f7; cursor: pointer; } .article_list_cate_a span{ font-size: 24px; line-height: 36px; margin-right: 10px; text-align: center; width: 194px; padding: 10px; display: block; } .article_list_cate_tab_items{ border-bottom: 1px solid #000; padding-bottom: 30px; margin-bottom: 40px; } .article_list_cate_tab_top——time{ margin-bottom: 20px; font-size: 16px; line-height: 30px; color: #585757; } .article_list_cate_tab_top——a{ color: #000; font-size: 20px; line-height: 36px; } .article_list_cate_tab_top——a:hover{ color: #337ab7; cursor: pointer; transition: all 0.5s; } .article_list_cate_tab_top——time_list{ display: flex; justify-content: space-between; align-items: center; } .article_list_cate_tab_top——b{ font-size: 30px; }
解释
HTML 部分:
包含一个
tabs
容器,其中有tab-buttons
容器包含三个按钮。tab-content
容器包含三个内容区块,每个区块对应一个选项卡。通过
onclick
事件调用openTab
函数来切换选项卡。CSS 部分:
定义了基本的样式,包括按钮的样式和内容区块的样式。
默认第一个内容区块显示 (
display: block
),其他的内容区块隐藏 (display: none
)。点击的按钮会添加
active
类,使其外观不同。JavaScript 部分:
隐藏所有内容区块。
移除所有按钮的
active
类。显示选中的内容区块,并为对应的按钮添加
active
类。openTab
函数实现了切换选项卡的功能:
很赞哦! ()