第27節 Bootstrap5彈出提示和工具提示組件用法

      On this page

      《Bootstrap5零基礎到精通》 俺老劉原創,爭取每天更新一節。

      27.1 概述

      這幾要講兩個控件:彈出提示(Popovers)和工具提示(Tooltips),這兩個組件功能都很單一,用法也很簡單,有很多相似之處。

      27.2 彈出提示(Popovers)

      27.2.1 示例

      27.2.1.1 注意事項

      使用popover插件時需要注意的事項:

      • 它必須依靠bootstrap.bundle.min.js才能工作!
      • 由于性能原因,popover是可選加入的,所以您必須自己初始化它們。

      27.2.1.2 在任何地方啟用彈出窗口

      初始化頁面上所有popover的一種方法是通過其data-bs-toggle屬性選擇它們:

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>Popovers</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <button type="button" 
                  class="btn btn-lg btn-danger" 
                  data-bs-toggle="popover" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  點此按鈕彈出提示
              </button>
              
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
              var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
              var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
              return new bootstrap.Popover(popoverTriggerEl)
              })
           </script>
        </body>
      </html>
      復制代碼

      2.1.jpg

      27.2.1.3 使用容器選項

      當父元素上的某些樣式干擾popover時,您需要指定一個自定義容器,以便popover的HTML顯示在該元素中。這個和上面一個在顯示上沒什么區別,只是在button類中增加了一個example-popover。

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>Popovers</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <button type="button" 
                  class="btn btn-lg btn-danger example-popover" 
                  data-bs-toggle="popover" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  點此按鈕彈出提示
              </button>
              
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
              var popover = new bootstrap.Popover(document.querySelector('.example-popover'), {
                  container: 'body'
                  })
           </script>
        </body>
      </html>
      復制代碼

      你也可以使用id,這樣看起來似乎更好懂

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>Popovers</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <button type="button" 
                  id="example-popover"    
                  class="btn btn-lg btn-danger" 
                  data-bs-toggle="popover" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  點此按鈕彈出提示
              </button>
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
              var popover = new bootstrap.Popover(document.querySelector('#example-popover'), {
                  container: 'body'
                  })
           </script>
        </body>
      </html>
      復制代碼

      27.2.2 改變彈出方向

      我們可以讓彈出的提示信息在四個方向:頂部,右側,底部,左側。 使用也很簡單,只需要將data-bs-placement="位置" 添加到button屬性即可,其中位置可以是top、bottom、left、right。

      需要注意的是,要顯示的位置必須有足夠的空間,否則,會自動尋找合適的位置,如你設置了顯示在上部,但上面已經在瀏覽器最上方了,則會顯示在下面。

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>Popovers</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <button type="button" 
                  class="btn btn-lg btn-danger" 
                  data-bs-toggle="popover" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  默認
              </button>
      
              <button type="button" 
                  class="btn btn-lg btn-danger" 
                  data-bs-toggle="popover" 
                  data-bs-placement="top" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  上部
              </button>
      
              <button type="button" 
                  class="btn btn-lg btn-danger" 
                  data-bs-toggle="popover" 
                  data-bs-placement="bottom" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  下部
              </button>
      
              <button type="button" 
                  class="btn btn-lg btn-danger" 
                  data-bs-toggle="popover" 
                  data-bs-placement="left" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  左側
              </button>
      
              <button type="button" 
                  class="btn btn-lg btn-danger" 
                  data-bs-toggle="popover" 
                  data-bs-placement="right" 
                  title="提示標題" 
                  data-bs-content="你想告訴別人些什么提示?你可以寫在這里!">
                  右側
              </button>
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
              var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
              var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
              return new bootstrap.Popover(popoverTriggerEl)
              })
           </script>
        </body>
      </html>
      復制代碼

      2.2.jpg

      27.2.3 再一次任意處關閉

      默認情況下,單擊按鈕顯示提示消息,再次點擊此按鈕消息隱藏,否則消息會一直顯示。 我們想再次點擊任意處就關閉此前顯示的提示信息,則需要給按鈕增加一個data-bs-trigger="focus"屬性,并在js文件中增加trigger: 'focus'

      要實現正確的跨瀏覽器和跨平臺行為,必須使用a標記,而不是button標記,并且還必須包含tabindex屬性。

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>Popovers</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <a tabindex="0" 
              class="btn btn-lg btn-danger" 
              role="button" data-bs-toggle="popover" 
              data-bs-trigger="focus" 
              title="提示標題" 
              data-bs-content="你想告訴別人些什么提示?你可以寫在這里!"   >
              點此按鈕彈出提示,點擊空白處提示消失
          </a>
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
              var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
              var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
              return new bootstrap.Popover(popoverTriggerEl)
              trigger: 'focus'
              })
           </script>
        </body>
      </html>
      復制代碼

      2.3.jpg

      27.3 工具提示(Tooltips)

      工具提示(Tooltips)和彈出提示框(Popovers)非常類似,也是可選加載的,必須自己初始化。其顯示方式也會 根據預留空間自動調整。與彈出提示不同的是,工具提示在鼠標懸停在按鈕的時候就會顯示,鼠標離開自動隱藏,不需要點擊。

      27.3.1 工具提示生效代碼

      和彈窗提示基本類似,頁面中必須包含此代碼,工具提示才能生效。

      var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
      var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
      return new bootstrap.Tooltip(tooltipTriggerEl)
      })
      復制代碼

      27.3.2 工具提示示例

      工具提示一般用在按鈕和鏈接上,用以說明其功能,當然也可以用在圖片上。title的值就是鼠標懸停顯示的內容,可以使用html元素。

      鏈接有默認的title屬性,其提示文字顯示在瀏覽器狀態欄,這個顯示的更直觀。

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>工具提示</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" title="這個是按鈕提示">
                按鈕提示
                </button>
                <a href="#" data-bs-toggle="tooltip" title="這個是鏈接提示">鏈接提示</a>
      
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
            var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
            var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
            return new bootstrap.Tooltip(tooltipTriggerEl)
            })
         </script>
        </body>
      </html>
      
      復制代碼

      3.2.jpg

      27.3.3 工具提示顯示位置

      跟彈窗提示一樣支持四個工具提示方向,分別是top、bottom、left、right。

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>吐司消息</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="頂部提示">
                頂部提示
                </button>
                <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="右側提示">
                右側提示
                </button>
                <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="底部提示">
                底部提示
                </button>
                <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="左側提示">
                左側提示
                </button>
      
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
            var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
            var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
            return new bootstrap.Tooltip(tooltipTriggerEl)
            })
         </script>
        </body>
      </html>
      復制代碼

      3.3.jpg

      27.3.4 用于文章中提示

      <!doctype html>
      <html lang="zh-CN">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <meta name="keywords" content="">
          <meta name="description" content="">
          <link href="../bootstrap5/bootstrap.min.css" rel="stylesheet">
          <title>吐司消息</title>
        </head>
        <body>
          <div class="container">
              <br><br><br><br>
              <div class="bd-example tooltip-demo">
                  <p class="muted">
                      最近<a href="#" data-bs-toggle="tooltip" title="嗶哩嗶哩">B站</a> 是迎來了自己12周年的紀念日,
                      之前吧,B站做過好些<a href="#" data-bs-toggle="tooltip" title="點此查看流行語盤點內容">流行語盤點</a>,
                      比如“awsl”一類的詞,不少朋友都刷過,甚至有的<a href="#" data-bs-toggle="tooltip" title="相當于現代典故">梗</a>還出圈了,
                      像是后那個什么浪一類的,我留意到B站官方很多時候還會做一些相關的科普盤點啥的,時不時有推送。
                  </p>
                </div>
            </div>
           <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
           <script>
            var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
            var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
            return new bootstrap.Tooltip(tooltipTriggerEl)
            })
         </script>
        </body>
      </html>
      復制代碼

      3.4.jpg

      27.4 可以結合通用類做出更多效果

      兩種提示的文字部分都可以使用html和bootstrap的通用類,設置間隔、排版、字體、顏色等,你可以自己嘗試一下做出更多很酷的效果。

      今天的課程就到這里,請關注我,及時學習 俺老劉原創的《Bootstrap5零基礎到精通》第28節 Bootstrap5吐司消息Toasts組件用法。

      如果這篇文章對你有幫助,記得隨手點贊哦!

      返回頂部
      主站蜘蛛池模板: 国产伦精品一区二区免费 | 制服丝袜一区在线| 国产91大片精品一区在线观看| 日韩a无吗一区二区三区| 少妇一夜三次一区二区| 国产香蕉一区二区在线网站| 亚洲一区二区三区电影| 亚洲午夜精品一区二区| 国产AⅤ精品一区二区三区久久| 好吊视频一区二区三区| 成人国产精品一区二区网站公司| 国模视频一区二区| 精品无码中出一区二区| 日本在线视频一区| 国产一区二区精品久久凹凸| 国产一区二区中文字幕| 精品无码一区二区三区爱欲九九 | 黑人一区二区三区中文字幕| 国产精品福利一区二区久久| 无码一区二区三区免费| 亚洲AV无码一区二区大桥未久 | 一本大道在线无码一区| 国产剧情一区二区| 国产亚洲一区二区三区在线观看| 国产在线精品一区二区不卡麻豆| 无码精品久久一区二区三区| 人妻AV一区二区三区精品| 久久久无码精品国产一区| 天堂国产一区二区三区| 亚洲午夜一区二区电影院| 国产一区二区成人| 白丝爆浆18禁一区二区三区| 国产剧情一区二区| 精品aⅴ一区二区三区| 人妻视频一区二区三区免费| 国产精品亚洲专一区二区三区| 日本高清无卡码一区二区久久| 精品人妻一区二区三区四区在线| 国产一区二区三区在线观看精品| 亚洲色大成网站www永久一区| 在线免费视频一区|