
- Bootstrap 4 教程
- Bootstrap 4 - 主頁
- Bootstrap 4 - 概述
- Bootstrap 4 - 環境設定
- Bootstrap 4 - 佈局
- Bootstrap 4 - 網格系統
- Bootstrap 4 - 內容
- Bootstrap 4 - 元件
- Bootstrap 4 - 實用程式
- Bootstrap 3 和 4 之間的差異
- Bootstrap 4 有用資源
- Bootstrap 4 - 快速指南
- Bootstrap 4 - 有用資源
- Bootstrap 4 - 討論
Bootstrap 4 - 滾動間諜
描述
滾動間諜用於根據滾動位置指示選單中當前活動的連結。
基本滾動間諜
滾動間諜使用 data-spy = "scroll" 屬性,該屬性可以用作可滾動區域(通常是元素),並新增具有任何 Bootstrap .navbar 元件的父元素的 ID 或類的 data-target 屬性來指示導航欄與可滾動區域連線,並且將高亮 nav 連結。可選 data-offset 屬性定義從頂部計算滾動的畫素數。
以下示例顯示了滾動間諜的使用情況 −
示例
<html lang = "en"> <head> <!-- Meta tags --> <meta charset = "utf-8"> <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no"> <!-- Bootstrap CSS --> <link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin = "anonymous"> <title>Bootstrap 4 Example</title> <style> #Scrollspy { position: relative; overflow-y: scroll; height: 300px; } #Scrollspynested { height: 200px; overflow-y: scroll; } #container { overflow: hidden; } </style> </head> <body> <div class = "container-fluid"> <h2>Scrollspy</h2> <div id = "Scrollspy" data-spy = "scroll" data-target = ".navbar" data-offset = "50"> <nav class = "navbar navbar-expand-sm bg-dark navbar-dark fixed-top"> <ul class = "navbar-nav"> <li class = "nav-item"> <a class = "nav-link" href = "#section1">Section 1</a> </li> <li class = "nav-item"> <a class = "nav-link" href = "#section2">Section 2</a> </li> <li class = "nav-item"> <a class = "nav-link" href = "#section3">Section 3</a> </li> <li class = "nav-item dropdown"> <a class = "nav-link dropdown-toggle" href = "#" id = "navbardrop" data-toggle = "dropdown"> Section 4 </a> <div class = "dropdown-menu"> <a class = "dropdown-item" href = "#section41">Link 1</a> <a class = "dropdown-item" href = "#section42">Link 2</a> </div> </li> </ul> </nav> <div id = "section1" class = "container-fluid" style = "padding-top:70px;padding-bottom:70px"> <h1>This is Section 1</h1> <p>Cotent for section #1</p> </div> <div id = "section2" class = "container-fluid" style = "padding-top:70px;padding-bottom:70px"> <h1>This is Section 2</h1> <p>Cotent for section #2</p> </div> <div id = "section3" class = "container-fluid" style = "padding-top:70px;padding-bottom:70px"> <h1>This is Section 3</h1> <p>Cotent for section #3</p> </div> <div id = "section41" class = "container-fluid" style = "padding-top:70px;padding-bottom:70px"> <h1>This is Section 4 Submenu 1</h1> <p>Cotent for section #4.1</p> </div> <div id = "section42" class = "container-fluid" style = "padding-top:70px;padding-bottom:70px"> <h1>This is Section 4 Submenu 2</h1> <p>Cotent for section #4.2</p> </div> </div> </div> <!-- jQuery library --> <script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin = "anonymous"> </script> <!-- Popper --> <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin = "anonymous"> </script> <!-- Latest compiled and minified Bootstrap JavaScript --> <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin = "anonymous"> </script> </body> </html>
它將產生以下結果 −
輸出
滾動間諜縱向選單
你可以使用導航藥丸作為縱向選單,方法是使用滾動間諜,如下面的示例所示 −
示例
<html lang = "en"> <head> <!-- Meta tags --> <meta charset = "utf-8"> <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no"> <!-- Bootstrap CSS --> <link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin = "anonymous"> <title>Bootstrap 4 Example</title> <style> body { position: relative; } ul.nav-pills { top: 50px; position: fixed; } div.col-8 div { height: 500px; } </style> </head> <body data-spy = "scroll" data-target = "#myScrollspy" data-offset = "1"> <h2>Scrollspy Vertical Menu</h2> <div class = "container-fluid"> <div class = "row"> <nav class = "col-sm-3 col-4" id = "myScrollspy"> <ul class = "nav nav-pills flex-column"> <li class = "nav-item"> <a class = "nav-link active" href = "#section1">Section 1</a> </li> <li class = "nav-item"> <a class = "nav-link" href = "#section2">Section 2</a> </li> <li class = "nav-item dropdown"> <a class = "nav-link dropdown-toggle" data-toggle = "dropdown" href = "#">Section 3</a> <div class = "dropdown-menu"> <a class = "dropdown-item" href = "#section31">dropdown-item 1</a> <a class = "dropdown-item" href = "#section32">dropdown-item 2</a> </div> </li> <li class = "nav-item"> <a class = "nav-link" href = "#section4">Section 4</a> </li> </ul> </nav> <div class = "col-sm-9 col-8"> <div id = "section1" > <h1>This is Section 1</h1> <p>Content for section #1</p> </div> <div id = "section2" > <h1>This is Section 2</h1> <p>Content for section #2</p> </div> <div id = "section31" > <h1>This is Section 3.1</h1> <p>Content for section #3.1</p> </div> <div id = "section32" > <h1>This is Section 3.2</h1> <p>Content for section #3.2</p> </div> <div id = "section4" > <h1>This is Section 4</h1> <p>Content for section #4</p> </div> </div> </div> </div> <!-- jQuery library --> <script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin = "anonymous"> </script> <!-- Popper --> <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin = "anonymous"> </script> <!-- Latest compiled and minified Bootstrap JavaScript --> <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin = "anonymous"> </script> </body> </html>
它將產生以下結果 −
輸出
bootstrap4_components.htm
廣告