简单的HTML + CSS + JavaScript tab 切换效果示例

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Tab 切换效果</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      font-size: 16px;
      line-height: 1.6;
      color: #333;
      margin: 0;
      padding: 0;
    }

    .tabs {
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #F2F2F2;
      padding: 20px;
    }

    .tab {
      margin-right: 10px;
      cursor: pointer;
      padding: 10px 20px;
      border-radius: 5px;
      background-color: #FFF;
      border: 1px solid #CCC;
    }

    .tab.active {
      background-color: #007AFF;
      color: #FFF;
      border-color: #007AFF;
    }

    .tab-content {
      display: none;
      padding: 20px;
      margin-top: 0px;
      background-color: #FFF;
      border: 1px solid #CCC;
      border-radius: 5px;
    }

    .tab-content.active {
      display: block;
    }
  </style>
</head>
<body>
  <div class="tabs">
    <div class="tab active" data-tab="tab1">Tab 1</div>
    <div class="tab" data-tab="tab2">Tab 2</div>
    <div class="tab" data-tab="tab3">Tab 3</div>
  </div>

  <div class="tab-content active" data-tab="tab1">
    <h2>Tab 1 内容</h2>
    <p>这里是 Tab 1 的内容。</p>
  </div>

  <div class="tab-content" data-tab="tab2">
    <h2>Tab 2 内容</h2>
    <p>这里是 Tab 2 的内容。</p>
    <p>这里是 Tab 2 的内容。</p>
  </div>

  <div class="tab-content" data-tab="tab3">
    <h2>Tab 3 内容</h2>
    <p>这里是 Tab 3 的内容。</p>
   <p>这里是 Tab 3 的内容。</p>
   <p>这里是 Tab 3 的内容。</p>
  </div>

  <script>
    const tabs = document.querySelectorAll('.tab');
    const tabContents = document.querySelectorAll('.tab-content');

    tabs.forEach(tab => {
      tab.addEventListener('click', () => {
        const activeTab = document.querySelector('.tab.active');
        const activeTabContent = document.querySelector('.tab-content.active');

        activeTab.classList.remove('active');
        activeTabContent.classList.remove('active');

        tab.classList.add('active');
        const tabContent = document.querySelector(`.tab-content[data-tab=${tab.dataset.tab}]`);
        tabContent.classList.add('active');
      });
    });
  </script>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用CSS编写一个基本的Tab切换效果,以下是一个简单示例代码: HTML代码: ```html <div class="tab"> <button class="tablinks" onclick="openTab(event, 'tab1')">标签1</button> <button class="tablinks" onclick="openTab(event, 'tab2')">标签2</button> <button class="tablinks" onclick="openTab(event, 'tab3')">标签3</button> </div> <div id="tab1" class="tabcontent"> <h3>标签1</h3> <p>这里是标签1的内容。</p> </div> <div id="tab2" class="tabcontent"> <h3>标签2</h3> <p>这里是标签2的内容。</p> </div> <div id="tab3" class="tabcontent"> <h3>标签3</h3> <p>这里是标签3的内容。</p> </div> ``` CSS代码: ```css /* 隐藏所有标签内容 */ .tabcontent { display: none; } /* 标签按钮样式 */ .tab button { background-color: #fff; border: none; color: #000; cursor: pointer; padding: 8px 16px; } /* 激活标签按钮样式 */ .tab button.active { background-color: #ccc; } /* 显示当前标签内容 */ .tabcontent.show { display: block; } ``` JavaScript代码: ```javascript // 默认打开第一个标签 document.getElementById("tab1").classList.add("show"); function openTab(event, tabName) { // 隐藏所有标签内容 var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].classList.remove("show"); } // 取消所有标签按钮激活状态 tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].classList.remove("active"); } // 显示当前标签内容 document.getElementById(tabName).classList.add("show"); // 激活当前标签按钮 event.currentTarget.classList.add("active"); } ``` 在此示例中,我们首先定义了一些HTML元素,其中包括用于切换标签的按钮以及每个标签对应的内容。然后,我们使用CSS来定义标签按钮和标签内容的样式,并使用JavaScript来处理标签切换逻辑。最后,当用户单击标签按钮时,我们调用openTab函数来显示当前标签内容并激活当前标签按钮。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YUJIANYUE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值