如何使用 CSS 和 JavaScript 创建垂直标签菜单?
在本文中,我们将讨论如何使用 CSS 和 JavaScript 创建垂直标签菜单。
标签是容器,其主要目的是显示和浏览网站的不同内容。标签通常用于管理空间,并在不频繁重新加载的情况下使网站更易于用户使用。这些标签中的内容通常密切相关,但相互排斥。
有几种类型的标签可以在各种情况下创建和使用:
水平标签
带有二级标签的水平标签
无边框水平标签
垂直标签
带有二级标签的垂直标签
垂直标签也划分数据,但排列方式是垂直的。它们共享水平标签的所有主要特性,但是如果标签数量较多,则垂直标签的可扩展性更好。垂直标签还提供额外的描述区域来总结标签的内容。
创建标签的步骤
以下是使用 CSS 和 JavaScript 创建标签的步骤:
在主体中,`
`标签在``标签下创建标签,该标签具有自定义数据属性。创建另一个`
`标签来存储具有指定 ID 的标签内容。为每个内容标签指定数据属性,以便一次只显示一个标签内容。
使用 JavaScript,我们可以显示标签的内容。
Example.html
在本部分中,我们通过垂直方向构建三个按钮(Tab1、Tab2 和 Tab3)和三个`
`段落来构建页面的主体结构。如下面的代码所示。<!--HTML Code--> <div class="tab"> <button class="tablinks" onclick="JavaScript:selectTab('tab1');"> Tab1 </button> <button class="tablinks" onclick="JavaScript:selectTab('tab2');"> Tab2 </button> <button class="tablinks" onclick="JavaScript:selectTab('tab3');"> Tab3 </button> </div> <div id="tab1" class="tabcontent"> <h3>TAB First</h3> <p>Tutorialspoint Easy To learn</p> </div> <div id="tab2" class="tabcontent"> <h3>TAB Second</h3> <p>Hyderabad Telangana, Madhapur Above D-Mart 4th Floor.</p> </div> <div id="tab3" class="tabcontent"> <h3>Tab Third</h3> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Modi magniomnis reiciendis ullam perspiciatis labore obcaecati tenetur vitae eteius voluptate optio saepe porro, officiis quos praesentium enim undesequi?</p> </div>
Example.css
在本部分中,向页面添加样式。设置按钮的宽度和高度样式,以及创建悬停效果,并在悬停时更改按钮的背景颜色。
<style> /*CSS*/ * { box-sizing: border-box; } .tab { float: left; border: 1px solid #ccc; background-color: #f1f1f1; width: 20%; } /* Style the buttons that are used to open the tab content */ .tab button { display: block; background-color: inherit; color: black; padding: 22px 16px; width: 100%; border: none; outline: none; cursor: pointer; transition: 0.3s; } .tab button:hover{ background-color: rgb(18, 84, 198); } .tabcontent { float: left; padding: 0px 12px; border: 1px solid #ccc; width: 80%; border-left: none; height: 180px; display: none; text-align: center; background-color: antiquewhite; } </style>
Example.js
在本部分中,我们正在构建一个名为 `selectTab` 的函数并将 `tabindex` 作为参数传递,并添加样式 `display` 属性,以便单击按钮时,标签内容会出现在页面上。如下面的代码所示。
<!-- Java script --> <script> function selectTab(tabIndex) { // Declare all variables var i, tabcontent; // Get all elements with class="tabcontent" and hide them tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } //Show the Selected Tab document.getElementById(tabIndex).style.display = "block"; } </script>
完整示例
<!DOCTYPE html> <html lang="en"> <head> <title>Tab</title> <style> /*CSS*/ * { box-sizing: border-box; } .tab { float: left; border: 1px solid #ccc; background-color: #f1f1f1; width: 20%; } /* Style the buttons that are used to open the tab content */ .tab button { display: block; background-color: inherit; color: black; padding: 22px 16px; width: 100%; border: none; outline: none; cursor: pointer; transition: 0.3s; } .tab button:hover{ background-color: rgb(18, 84, 198); } .tabcontent { float: left; padding: 0px 12px; border: 1px solid #ccc; width: 80%; border-left: none; height: 180px; display: none; text-align: center; background-color: antiquewhite; } </style> </head> <body> <!--HTML Code--> <div class="tab"> <button class="tablinks" onclick="JavaScript:selectTab('tab1');"> Tab1 </button> <button class="tablinks" onclick="JavaScript:selectTab('tab2');"> Tab2 </button> <button class="tablinks" onclick="JavaScript:selectTab('tab3');"> Tab3 </button> </div> <div id="tab1" class="tabcontent"> <h3>TAB First</h3> <p>Tutorialspoint Easy To learn</p> </div> <div id="tab2" class="tabcontent"> <h3>TAB Second</h3> <p>Hyderabad Telangana, Madhapur Above D-Mart 4th Floor.</p> </div> <div id="tab3" class="tabcontent"> <h3>Tab Third</h3> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Modi magniomnis reiciendis ullam perspiciatis labore obcaecati tenetur vitae eteius voluptate optio saepe porro, officiis quos praesentium enim undesequi?</p> </div> <!-- Java script --> <script> function selectTab(tabIndex) { // Declare all variables var i, tabcontent; // Get all elements with class="tabcontent" and hide them tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } //Show the Selected Tab document.getElementById(tabIndex).style.display = "block"; } </script> </body> </html>
广告