精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

第28節(jié) Bootstrap5吐司消息Toasts組件用法

On this page

28.1 吐司消息(Toasts)示例

吐司(Toasts)是一種輕量級通知,旨在模仿移動和桌面操作系統已經普及的推送通知。它們是用flexbox構建的,所以它們很容易對齊和定位。

和彈出提示一樣,吐司消息也需要自己初始化,不知為什么官網的初始化方法無效,我在國外網站找到一個可行的方法。

<!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-primary" id="liveToastBtn">顯示吐司消息</button>
        <div class="position-fixed bottom-0 end-0 p-3" style="z-index: 5">
          <div id="liveToast" class="toast hide" data-bs-animation="false" role="alert" aria-live="assertive" aria-atomic="true">
            <div class="toast-header">
            <strong class="me-auto">吐司消息提示</strong>
            <small>11 mins ago</small>
            <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
            </div>
            <div class="toast-body">
            你有一條短消息!
            </div>
          </div>
        </div>

      </div>
     <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
     <script>
      document.querySelector("#liveToastBtn").onclick = function() {
        new bootstrap.Toast(document.querySelector('.toast')).show();
      }
   </script>
  </body>
</html>
復制代碼

3.1.jpg

28.2 設置選項

選項可以透過數據屬性或是JavaScript傳遞。對于數據屬性,將選項名稱附加到data-bs-,如:data-bs-animation=""。

  • data-bs-animation="true" 在吐司應用CSS fade轉換效果
  • data-bs-autohide="true" 自動將吐司隱藏
  • data-bs-delay="5000" ,延遲隱藏吐司5s(默認單位毫秒)

以上值為默認值,如果你對磨人的效果滿意,根本不需要寫那個,27.3.1例子中,我設置了data-bs-autohide="false"設置不自動將吐司隱藏,這樣好方便截圖,否則鼠標只要在任何地方一點,消息框就消失了。

28.3 半透明的

吐司也可以是半透明的,因此能混合在它們可能出現的任何東西上。在支持CSS屬性backdrop-filter的瀏覽器,還會嘗試對吐司下方的元素進行模糊效果。

<!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-primary" id="liveToastBtn">顯示吐司消息</button>
        <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
          <div class="toast-header">
          <strong class="me-auto">半透明吐司</strong>
          <small class="text-muted">11 mins ago</small>
          <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
          </div>
          <div class="toast-body">
            你有一條短消息!
          </div>
          </div>

      </div>
     <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
     <script>
      document.querySelector("#liveToastBtn").onclick = function() {
        new bootstrap.Toast(document.querySelector('.toast')).show();
      }
   </script>
  </body>
</html>
復制代碼

2.jpg

28.4 堆疊

可以透過將吐司包裝于toast-container容器來推疊它們,這將會在垂直方向上增加一些間距。

<!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-primary" id="liveToastBtn1">顯示吐司消息1</button>
        <button type="button" class="btn btn-primary" id="liveToastBtn2">顯示吐司消息2</button>
        <div class="toast-container">
          <div class="toast" id="toast1" role="alert" aria-live="assertive" aria-atomic="true">
          <div class="toast-header">
          <strong class="me-auto">吐司消息</strong>
          <small class="text-muted">剛剛發(fā)送</small>
          <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
          </div>
          <div class="toast-body">
          第一條消息
          </div>
          </div>
          
          <div class="toast"  id="toast2" role="alert" aria-live="assertive" aria-atomic="true">
          <div class="toast-header">
          <strong class="me-auto">吐司消息</strong>
          <small class="text-muted">2分鐘前</small>
          <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
          </div>
          <div class="toast-body">
            第二條消息
          </div>
          </div>
        </div>

      </div>
     <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
     <script>
       document.querySelector("#liveToastBtn1").onclick = function() {
        new bootstrap.Toast(document.querySelector('#toast1')).show();
      }
      document.querySelector("#liveToastBtn2").onclick = function() {
        new bootstrap.Toast(document.querySelector('#toast2')).show();
      }
   </script>
  </body>
</html>
復制代碼

4.jpg

28.5 自定義內容

透過移除子元件、調整通用類或是增加標記以自定義吐司。

<!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-primary" id="liveToastBtn">顯示吐司消息</button>
        <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
            <div class="toast-body">
            邀請你穿越到三國!
            <div class="mt-2 pt-2 border-top">
            <button type="button" class="btn btn-primary btn-sm">接受邀請</button>
            <button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="toast">關閉</button>
            </div>
            </div>
         </div>

      </div>
     <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
     <script>
      document.querySelector("#liveToastBtn").onclick = function() {
        new bootstrap.Toast(document.querySelector('.toast')).show();
      }
   </script>
  </body>
</html>
復制代碼

5.jpg

28.6 配色方案

基于以上的示例,您也可以透過我們的顏色通用類別建立不同的吐司配色方案。以下我們將bg-danger與text-white添加到toast,再把text-white添加到關閉按鈕上。為了讓邊緣清晰顯示,透過border-0移除了預設的邊框。

<!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-primary" id="liveToastBtn">顯示吐司消息</button>

        <div class="toast align-items-center text-white bg-danger border-0" role="alert" aria-live="assertive" aria-atomic="true">
            <div class="d-flex">
            <div class="toast-body">
            這里是紅色背景的
            </div>
            <button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
            </div>
        </div>

      </div>
     <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
     <script>
      document.querySelector("#liveToastBtn").onclick = function() {
        new bootstrap.Toast(document.querySelector('.toast')).show();
      }
   </script>
  </body>
</html>
復制代碼

6.jpg

28.7 設置顯示位置

默認吐司消息顯示在瀏覽器右下角,根據需求,使用自定義的CSS指定吐司位置。右上角通常用于通知,頂部的中間也是如此。如果您一次只要展示一個吐司,請將定位樣式放在toast上。

<form>
<div class="mb-3">
<label for="selectToastPlacement">Toast placement</label>
<select class="form-select mt-2" id="selectToastPlacement">
<option value="" selected>Select a position...</option>
<option value="top-0 start-0">Top left</option>
<option value="top-0 start-50 translate-middle-x">Top center</option>
<option value="top-0 end-0">Top right</option>
<option value="top-50 start-0 translate-middle-y">Middle left</option>
<option value="top-50 start-50 translate-middle">Middle center</option>
<option value="top-50 end-0 translate-middle-y">Middle right</option>
<option value="bottom-0 start-0">Bottom left</option>
<option value="bottom-0 start-50 translate-middle-x">Bottom center</option>
<option value="bottom-0 end-0">Bottom right</option>
</select>
</div>
</form>
<div aria-live="polite" aria-atomic="true" class="bg-dark position-relative bd-example-toasts">
<div class="toast-container position-absolute p-3" id="toastPlacement">
<div class="toast">
<div class="toast-header">
  <img src="..." class="rounded me-2" alt="...">
  <strong class="me-auto">Bootstrap</strong>
  <small>11 mins ago</small>
</div>
<div class="toast-body">
  Hello, world! This is a toast message.
</div>
</div>
</div>
</div>
復制代碼

上面是官方例子,Bootstrap5 Toasts我也沒找到其中驅動的js代碼。不過可以給大家參考一下,有興趣的可以去研究一下,在這里我根據上面的代碼,修改了個顯示在左上角的。

<!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-primary" id="liveToastBtn">顯示吐司消息</button>
        <div class="position-fixed top-0 start-0 p-3" style="z-index: 5">
          <div id="liveToast" class="toast hide" data-bs-animation="false" role="alert" aria-live="assertive" aria-atomic="true">
            <div class="toast-header">
            <strong class="me-auto">吐司消息提示</strong>
            <small>11 mins ago</small>
            <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
            </div>
            <div class="toast-body">
            你有一條短消息!
            </div>
          </div>
        </div>

      </div>
     <script src="../bootstrap5/bootstrap.bundle.min.js" ></script>
     <script>
      document.querySelector("#liveToastBtn").onclick = function() {
        new bootstrap.Toast(document.querySelector('.toast')).show();
      }
   </script>
  </body>
</html>
復制代碼

7.jpg

今天的課程就到這里,請關注我,及時學習 俺老劉原創(chuàng)的《Bootstrap5零基礎到精通》第29節(jié) Bootstrap5 讀取圖標Spinners組件用法。

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

返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      国产精品国产三级国产aⅴ无密码| 亚洲深夜av| 欧美日韩一区在线观看| 久久精品成人| 制服丝袜亚洲播放| 亚洲日韩视频| 精品成人在线视频| 国产亚洲一区在线播放| 欧美日韩精品免费观看视一区二区 | 欧美精品一区二区三区蜜桃| 午夜伦欧美伦电影理论片| 亚洲精品孕妇| 亚洲黄色影院| 1000部国产精品成人观看| 国产女人aaa级久久久级| 欧美视频日韩| 欧美日韩综合久久| 欧美激情一区二区三级高清视频| 欧美专区日韩专区| 欧美中文字幕在线观看| 亚洲欧美99| 亚洲欧美日韩区| 亚洲少妇一区| 亚洲一区二区三区国产| 在线一区二区日韩| 亚洲视频中文| 亚洲欧美制服另类日韩| 亚洲综合好骚| 久久gogo国模啪啪人体图| 欧美一区二区三区男人的天堂 | 亚洲精品一区二区在线观看| 亚洲电影在线播放| 亚洲精品免费看| 亚洲精品视频在线| 99在线视频精品| 亚洲视频一区在线观看| 亚洲欧美在线aaa| 欧美一区二区私人影院日本 | 亚洲欧美成人一区二区三区| 亚洲主播在线播放| 欧美一级淫片aaaaaaa视频| 久久精品国产96久久久香蕉| 久久久久久久久久看片| 美女久久一区| 欧美日韩午夜精品| 国产精品日本欧美一区二区三区| 国产精品综合| 亚洲福利免费| 亚洲调教视频在线观看| 久久黄色网页| 欧美伦理a级免费电影| 国产精品美女xx| 韩国亚洲精品| 99精品99久久久久久宅男| 午夜视频久久久| 欧美国产日韩免费| 国产精品日日摸夜夜摸av| 黑人一区二区三区四区五区| 亚洲精品久久久久中文字幕欢迎你| 中文在线资源观看网站视频免费不卡 | 欧美一区二区观看视频| 欧美国产在线观看| 国产欧美精品一区aⅴ影院| 136国产福利精品导航网址应用| 99精品热6080yy久久| 久久高清免费观看| 欧美日韩久久不卡| 韩国精品久久久999| 中文av一区二区| 欧美v国产在线一区二区三区| 国产精品视频yy9299一区| 亚洲激情在线播放| 亚洲欧美国产77777| 欧美高清一区| 好吊妞这里只有精品| 亚洲性线免费观看视频成熟| 欧美成人国产| 精品动漫av| 久久精品1区| 国产伦精品一区二区三区高清| 亚洲人成绝费网站色www| 久久精品国产96久久久香蕉| 国产精品九色蝌蚪自拍| 亚洲日本在线视频观看| 免费看亚洲片| 在线观看视频亚洲| 久久久久成人精品| 国产免费观看久久| 亚洲性视频h| 国产精品久在线观看| 亚洲手机视频| 欧美日韩一区二区欧美激情| 亚洲免费av片| 欧美精品久久99| 亚洲精品在线一区二区| 欧美承认网站| 亚洲精品久久久久中文字幕欢迎你 | 美日韩精品视频免费看| 亚洲大片在线| 欧美韩日视频| 亚洲人成人99网站| 欧美另类变人与禽xxxxx| 亚洲日韩成人| 欧美午夜性色大片在线观看| 正在播放亚洲| 国产麻豆综合| 久久精品在线| 亚洲国产一成人久久精品| 欧美顶级大胆免费视频| 亚洲日本国产| 欧美性大战久久久久久久| 羞羞漫画18久久大片| 国产综合久久久久影院| 女主播福利一区| 中文av一区特黄| 国产一区二区三区高清| 蜜臀久久99精品久久久画质超高清 | 国产精品九九久久久久久久| 欧美一级二区| 在线日韩欧美视频| 欧美日韩国产综合视频在线| 亚洲婷婷国产精品电影人久久| 国产日韩欧美亚洲| 欧美国产日韩在线观看| 亚洲一区二区三区四区五区黄| 国产日韩欧美精品一区| 欧美1区免费| 亚洲综合色丁香婷婷六月图片| 国产日本欧洲亚洲| 欧美精品观看| 久久精品在这里| 一区二区三区 在线观看视频| 国产婷婷色一区二区三区| 欧美二区在线| 久久久精品五月天| 99在线热播精品免费| 禁久久精品乱码| 国产精品电影观看| 欧美激情精品久久久久久变态| 先锋影音国产一区| 一本在线高清不卡dvd| 黄色成人小视频| 国产精品久久久久国产a级| 嫩草国产精品入口| 欧美在线免费一级片| 一区二区国产日产| 亚洲人成77777在线观看网| 国产视频在线观看一区二区| 欧美日韩美女一区二区| 欧美成人免费全部| 久久精品国亚洲| 午夜精品久久久久久久久久久久久| 亚洲经典一区| 一区二区亚洲精品国产| 国产日产精品一区二区三区四区的观看方式| 免费欧美在线| 免费成人在线观看视频| 久久夜色精品国产| 久久久综合精品| 久久精品中文| 久久国产乱子精品免费女 | 国产精品国产三级国产aⅴ入口 | 欧美成人午夜激情视频| 久久野战av| 玖玖国产精品视频| 久久三级福利| 久久资源在线| 免费成人激情视频| 蜜桃av噜噜一区| 美女被久久久| 欧美国产高潮xxxx1819| 欧美jjzz| 欧美日韩a区| 欧美色道久久88综合亚洲精品| 欧美日韩国产成人在线| 欧美日韩日本网| 国产精品免费看久久久香蕉| 国产精品二区二区三区| 国产精品日韩久久久| 国产三级欧美三级日产三级99| 国产欧美一区二区三区视频| 国产亚洲一区精品| 精品999网站| 亚洲美女尤物影院| 日韩网站在线观看| 亚洲欧美国产不卡| 久久成人18免费网站| 免费中文日韩| 欧美日韩另类视频| 国产精自产拍久久久久久| 一区在线播放视频| 亚洲美女毛片| 欧美中文字幕| 欧美777四色影视在线| 欧美日韩在线一区二区三区| 国产精品天美传媒入口| 亚洲国产精品精华液网站| 亚洲图片在线观看| 久久色在线播放| 欧美新色视频|