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

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

On this page

28.1 吐司消息(Toasts)示例

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

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

<!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>
復(fù)制代碼

3.1.jpg

28.2 設(shè)置選項

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

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

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

28.3 半透明的

吐司也可以是半透明的,因此能混合在它們可能出現(xiàn)的任何東西上。在支持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>
復(fù)制代碼

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>
復(fù)制代碼

4.jpg

28.5 自定義內(nèi)容

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

<!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">關(guān)閉</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>
復(fù)制代碼

5.jpg

28.6 配色方案

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

<!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>
復(fù)制代碼

6.jpg

28.7 設(shè)置顯示位置

默認吐司消息顯示在瀏覽器右下角,根據(jù)需求,使用自定義的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>
復(fù)制代碼

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

<!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>
復(fù)制代碼

7.jpg

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

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

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

      9000px;">

          2021中文字幕一区亚洲| 蜜桃av噜噜一区| 99精品视频一区二区| 亚洲视频每日更新| 日韩欧美黄色影院| 欧美日韩一区在线观看| 国产成人av网站| 蜜桃在线一区二区三区| 国产精品国产a| 精品久久人人做人人爰| 91超碰这里只有精品国产| 国产成人av电影在线观看| 亚洲一二三区不卡| 久久精品视频在线免费观看| 日韩一区和二区| 91精品国产色综合久久| 欧美日韩久久不卡| 91视频免费播放| 欧美亚洲国产怡红院影院| 春色校园综合激情亚洲| 99精品久久久久久| 成人中文字幕合集| 成人黄色综合网站| 色综合久久中文综合久久97| 色综合色综合色综合| 91国在线观看| 日韩精品一区二区三区swag| 国产日韩亚洲欧美综合| 国产精品久久久久久久久免费丝袜| 精品国产一二三| 国产欧美日韩亚州综合| 亚洲人成网站在线| 国产一区二区三区综合| va亚洲va日韩不卡在线观看| 久久国产精品免费| 欧美亚洲免费在线一区| 精品久久久久一区二区国产| 一区二区三区欧美在线观看| 成人动漫一区二区在线| 欧美mv和日韩mv的网站| 丝袜美腿亚洲综合| 欧美亚洲国产一区二区三区| 中文字幕精品一区| 久久精品国产久精国产| 777xxx欧美| 青青草原综合久久大伊人精品| 中文字幕一区二区三区av| 91精品福利在线| 麻豆精品视频在线观看视频| 国产精品二三区| 成人动漫在线一区| 欧美日本视频在线| 久久精品日韩一区二区三区| 一区二区三区加勒比av| 极品销魂美女一区二区三区| 色猫猫国产区一区二在线视频| 欧美国产精品专区| 日本视频在线一区| 日本道精品一区二区三区| 欧美v亚洲v综合ⅴ国产v| 亚洲精品欧美激情| 久久美女高清视频| 91社区在线播放| 在线观看一区不卡| 欧美精品自拍偷拍动漫精品| 欧美日韩日本视频| 欧美一区二区三区四区高清| 日韩亚洲欧美一区二区三区| 精品免费99久久| 亚洲欧洲另类国产综合| 亚洲超丰满肉感bbw| 日韩精品福利网| 午夜精品影院在线观看| 免费精品视频最新在线| 国产99久久久精品| 91美女福利视频| 欧美精品高清视频| 欧美成人艳星乳罩| 国产精品视频观看| 五月婷婷欧美视频| 国产一区二区看久久| 99久久精品费精品国产一区二区 | 欧美性做爰猛烈叫床潮| 欧美日本在线看| 久久婷婷综合激情| 亚洲一区二三区| 国产在线精品一区二区三区不卡| 成人综合激情网| 8x8x8国产精品| 亚洲国产经典视频| 日韩一区欧美二区| 91在线视频播放地址| 欧美一级黄色大片| 亚洲色图欧美在线| 看国产成人h片视频| 在线视频欧美精品| 久久这里只有精品6| 偷拍自拍另类欧美| 91蜜桃在线观看| 久久综合久久99| 日本欧美肥老太交大片| 在线欧美小视频| 国产视频一区二区在线| 日韩成人免费电影| 欧美日韩精品一区二区在线播放| 成人免费视频在线观看| 国产夫妻精品视频| 久久久久久久久久久99999| 亚洲成人一二三| 色综合久久中文字幕综合网| 久久久99精品免费观看不卡| 日韩和欧美一区二区| 欧美日韩一区二区在线视频| 亚洲日本乱码在线观看| 成人av网站在线| 欧美激情综合网| 国产成人免费视频网站 | 亚洲综合成人在线视频| 国产成人免费xxxxxxxx| 久久这里都是精品| 国产乱码精品一区二区三| 久久嫩草精品久久久精品| 久久精品国产亚洲5555| 欧美大度的电影原声| 日韩中文字幕不卡| 91精品国产综合久久精品性色| 亚洲二区在线观看| 在线免费观看一区| 亚洲国产一区二区在线播放| 一本一本大道香蕉久在线精品 | 99视频有精品| 亚洲图片另类小说| 欧美在线色视频| 日本不卡中文字幕| 2021中文字幕一区亚洲| 风间由美一区二区三区在线观看 | 成人黄色小视频| 日韩一区欧美一区| 日本丶国产丶欧美色综合| 一区二区三区在线观看视频| 欧美亚日韩国产aⅴ精品中极品| 丝袜亚洲精品中文字幕一区| 精品久久久久久综合日本欧美| 国内成人精品2018免费看| 久久精品免费在线观看| 99国产精品久久久久久久久久久| 亚洲精品第一国产综合野| 欧美体内she精高潮| 日产国产高清一区二区三区| 精品国产91乱码一区二区三区 | 粉嫩av一区二区三区| 亚洲激情校园春色| 欧美v国产在线一区二区三区| 国产成人综合在线观看| 亚洲高清一区二区三区| 久久青草欧美一区二区三区| 99久久精品情趣| 看电视剧不卡顿的网站| 亚洲精品欧美在线| 26uuu色噜噜精品一区| 欧美在线观看视频一区二区三区| 国内不卡的二区三区中文字幕 | 国产日韩亚洲欧美综合| 欧美婷婷六月丁香综合色| 国产91高潮流白浆在线麻豆| 亚洲高清不卡在线| 国产欧美一区二区精品久导航| 色伊人久久综合中文字幕| 极品少妇一区二区三区精品视频| 一区二区三区美女视频| 国产午夜精品一区二区三区视频| 欧美久久久久久久久久| 92国产精品观看| 国产乱码精品一区二区三区忘忧草| 亚洲一区影音先锋| 亚洲欧洲美洲综合色网| 久久毛片高清国产| 日韩视频一区二区三区| 欧美性色黄大片| 一本久久综合亚洲鲁鲁五月天| 韩国v欧美v日本v亚洲v| 免费看日韩精品| 亚洲成人动漫在线免费观看| 国产精品初高中害羞小美女文| www国产成人免费观看视频 深夜成人网| 欧美三级韩国三级日本三斤 | 亚洲精品一区二区在线观看| 欧美午夜在线观看| 91天堂素人约啪| 91伊人久久大香线蕉| 97久久久精品综合88久久| 成人免费视频caoporn| 激情六月婷婷综合| 黑人精品欧美一区二区蜜桃| 麻豆一区二区三| 蜜臀av性久久久久蜜臀aⅴ流畅| 日本人妖一区二区| 激情综合五月婷婷| 国产乱理伦片在线观看夜一区| 国产老肥熟一区二区三区|