如何使用 CSS 和 JavaScript 创建标签页眉?

javascriptweb developmentfront end technology更新于 2024/6/15 5:15:00

在本文中,我们将讨论如何使用 CSS 和 JavaScript 创建标签页眉。

页眉元素表示使用一些介绍性内容或一组导航链接的容器。一般来说,标题元素通常包含一个或多个元素。

标签标题表示每个选项卡中的内容,或提供一些导航链接,将用户链接到他们单击的任何选项卡。

创建标签标题的步骤

使用 JavaScript 创建标签标题的步骤如下 -

  • 定义一个具有两个参数evt name的函数。

  • 声明变量 tabcontent 并通过 document.getElementByClassName 将类名分配给 tabcontent 变量来为其分配按钮。

  • 迭代 for 循环并使用样式属性display is none避免自动显示。

  • 声明 tablinks 变量并为其分配按钮链接,迭代 for 循环并使用 tablinks.className.replace("aactive") 使按钮处于活动状态

  • 最后调用 evt name 参数,并使 name display 块和 evt class 处于活动状态。

示例

以下是使用 CSS 和 JavaScript 创建标题的示例 -

Example.html

在此示例中,使用 HTML 代码,我们为 3 个不同的选项卡创建了 3 个 div 元素,并创建了 3 个按钮,即 HTML、CSS 和 JAVASCRIPT。

在每个按钮中,我们都为 onclick 事件编写了一个函数,该函数调用相应的 div 元素。

<body>
   <div class="tab">
      <button class="tablinks" onclick="langName(event, 'HTML')">HTML</button>
      <button class="tablinks" onclick="langName(event, 'CSS')">CSS</button>
      <button class="tablinks" onclick="langName(event, 'JAVASCRIPT')">
         JAVASCRIPT
      </button>
      </div>
      <div id="HTML" class="tabcontent">
         <h3>HTML</h3>
         <p>This is Html</p>
      </div>
      <div id="CSS" class="tabcontent">
         <h3>CSS</h3>
         <p>This is CSS</p>
      </div>
      <div id="JAVASCRIPT" class="tabcontent">
         <h3>Javascript</h3>
         <p>This is Javascript</p>
      </div>

Example.css

使用 CSS 代码,我们为标签按钮设置不同的背景颜色,并为标签的头部添加悬停效果。

<style>
   body {
      font-family: Arial;
   }
   /* Style the tab */
   .tab {
      overflow: hidden;
      border: 1px solid #ccc;
      background-color: #f1f1f1;
   }
   /* Style the buttons inside the tab */
   .tab button {
      background-color: #f1f1f1;
      float: left;
      border: none;
      outline: none;
      cursor: pointer;
      padding: 14px 16px;
      transition: 0.3s;
      font-size: 17px;
   }
   /* Change background color of buttons on hover */
   .tab button:hover {
      background-color: rgb(173, 150, 232);
   }
   /* Create an active/current tablink class */
   .tab button.active {
      background-color: rgb(173, 150, 232);;
   }
   /* Style the tab content */
   .tabcontent {
      text-align: center;
      display: none;
      padding: 6px 12px;
      -webkit-animation: fadeEffect 1s;
      animation: fadeEffect 1s;
   }
</style>

Example.js

在 JavaScript 部分,当用户点击相应的按钮时,我们尝试在选项卡之间切换。

<script>
   function langName(evt, name) {
      var i, tabcontent, tablinks;
      tabcontent = document.getElementsByClassName("tabcontent");
      for (i = 0; i < tabcontent.length; i++) {
         tabcontent[i].style.display = "none";
      }
      tablinks = document.getElementsByClassName("tablinks");
      for (i = 0; i < tablinks.length; i++) {
         tablinks[i].className = tablinks[i].className.replace(" active", "");
      }
      document.getElementById(name).style.display = "block";
      evt.currentTarget.className += " active";
   }
</script>

完整示例

<!DOCTYPE html>
<html>
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1" />
   <style>
      body {
         font-family: Arial;
      }
      /* Style the tab */
      .tab {
         overflow: hidden;
         border: 1px solid #ccc;
         background-color: #f1f1f1;
      }
      /* Style the buttons inside the tab */
      .tab button {
         background-color: #f1f1f1;
         float: left;
         border: none;
         outline: none;
         cursor: pointer;
         padding: 14px 16px;
         transition: 0.3s;
         font-size: 17px;
      }
      /* Change background color of buttons on hover */
      .tab button:hover {
         background-color: rgb(173, 150, 232);
      }
      /* Create an active/current tablink class */
      .tab button.active {
         background-color: rgb(173, 150, 232);;
      }
      /* Style the tab content */
      .tabcontent {
         text-align: center;
         display: none;
         padding: 6px 12px;
         -webkit-animation: fadeEffect 1s;
         animation: fadeEffect 1s;
      }
   </style>
</head>
<body>
   <div class="tab">
   <button class="tablinks" onclick="langName(event, 'HTML')">HTML</button>
   <button class="tablinks" onclick="langName(event, 'CSS')">CSS</button>
   <button class="tablinks" onclick="langName(event, 'JAVASCRIPT')">
      JAVASCRIPT
   </button>
   </div>
   <div id="HTML" class="tabcontent">
      <h3>HTML</h3>
      <p>This is Html</p>
   </div>
   <div id="CSS" class="tabcontent">
      <h3>CSS</h3>
      <p>This is CSS</p>
   </div>
   <div id="JAVASCRIPT" class="tabcontent">
      <h3>Javascript</h3>
      <p>This is Javascript</p>
   </div>
   <script>
      function langName(evt, name) {
         var i, tabcontent, tablinks;
         tabcontent = document.getElementsByClassName("tabcontent");
         for (i = 0; i < tabcontent.length; i++) {
            tabcontent[i].style.display = "none";
         }
         tablinks = document.getElementsByClassName("tablinks");
         for (i = 0; i < tablinks.length; i++) {
            tablinks[i].className = tablinks[i].className.replace(" active", "");
         }
         document.getElementById(name).style.display = "block";
         evt.currentTarget.className += " active";
      }
   </script>
</body>
</html>

相关文章