电梯导航 - 点击标题跳转对应区域

需求

  1. 点击标题,使用a标签的锚点自动跳到对应区域
  2. 滚动区域,右边自动切换对应的标题
js 复制代码
<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    html,
    body {
      font-family: -apple-system, "BlinkMacSystemFont", sans-serif;
      margin: 0;
      /* height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center; */
      background: aliceblue;
      /* ☆☆☆☆☆使页面平滑滚动到指定位置 */
      scroll-behavior: smooth;
    }

    body {
      padding: 0 15px;
    }

    h2 {
      margin: 0;
      padding: .8em 0;
      scroll-margin: 20px;
    }

    .content {
      view-timeline-name: var(--s);
      view-timeline-inset: 50%;
    }

    nav {
      position: fixed;
      top: 15px;
      right: 15px;
      background: #fff;
      padding: 10px 0;
      border-radius: 4px;
      overflow: hidden;
    }

    nav>a {
      position: relative;
      display: block;
      line-height: 2;
      padding: 0 15px;
      font-size: 14px;
      color: #191919;
      text-decoration: none;
      animation: active;
      animation-timeline: var(--s);
      border-left: 4px solid transparent;
    }

    @keyframes active {

      0%,
      100% {
        color: #6f00ff;
        border-color: #6f00ff;
      }
    }

    nav>a:hover {
      background-color: #d5d5d54a;
    }

    section {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    section span {
      width: 30%;
      height: 100px;
      border-radius: 4px;
      background-color: #E4CCFF;
    }
  </style>
</head>

<body>
  <div>
    <!-- ☆☆☆☆☆ 利用 a 标签的锚点实现点击跳转到有对应id的元素 -->

    <body style="timeline-scope: --t1,--t2,--t3,--t4,--t5,--t6;">
      <nav>
        <a href="#t1" style="--s: --t1">一、标题一</a>
        <a href="#t2" style="--s: --t2;">二、标题二</a>
        <a href="#t3" style="--s: --t3">三、标题三</a>
        <a href="#t4" style="--s: --t4">四、标题四</a>
        <a href="#t5" style="--s: --t5">五、标题五</a>
        <a href="#t6" style="--s: --t6">六、标题六</a>
      </nav>
      <h1>CSS 电梯导航</h1>
      <div class="content" style="--s: --t1">
        <h2 id="t1">一、标题一</h2>
        <section>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </section>
      </div>
      <div class="content" style="--s: --t2">
        <h2 id="t2">二、标题二</h2>
        <section>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </section>
      </div>
      <div class="content" style="--s: --t3">
        <h2 id="t3">三、标题三</h2>
        <section>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </section>
      </div>
      <div class="content" style="--s: --t4">
        <h2 id="t4">四、标题四</h2>
        <section>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </section>
      </div>
      <div class="content" style="--s: --t5">
        <h2 id="t5">五、标题五</h2>
        <section>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </section>
      </div>
      <div class="content" style="--s: --t6">
        <h2 id="t6">六、标题六</h2>
        <section>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
          <span></span>
        </section>
      </div>
    </body>
  </div>

  <script>

  </script>
</body>

</html>
相关推荐
惜.己10 小时前
Jmeter中的断言(二)
测试工具·jmeter·1024程序员节
西电研梦19 小时前
考研倒计时30天丨和西电一起向前!再向前!
人工智能·考研·1024程序员节·西电·西安电子科技大学
惜.己20 小时前
Jmeter中的断言(四)
测试工具·jmeter·1024程序员节
·云扬·1 天前
Java IO 与 BIO、NIO、AIO 详解
java·开发语言·笔记·学习·nio·1024程序员节
网安_秋刀鱼1 天前
PHP代码审计 --MVC模型开发框架&rce示例
开发语言·web安全·网络安全·php·mvc·1024程序员节
HUODUNYUN2 天前
小程序免备案:快速部署与优化的全攻略
服务器·网络·web安全·小程序·1024程序员节
惜.己2 天前
Jmeter的后置处理器(二)
测试工具·github·1024程序员节
惜.己2 天前
Jmeter中的断言(一)
测试工具·jmeter·1024程序员节
cainiao0806052 天前
《物理学进展》
1024程序员节·核心期刊·知网期刊·职称评审
FFDUST3 天前
C++ —— string类(上)
c语言·开发语言·数据结构·c++·stl·1024程序员节