亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
首頁 > web前端 > js教程 > 正文

實(shí)現(xiàn)Bootstrap 5.3加載指示器平滑淡入淡出效果的教程

聖光之護(hù)
發(fā)布: 2025-10-16 10:38:20
原創(chuàng)
690人瀏覽過

實(shí)現(xiàn)Bootstrap 5.3加載指示器平滑淡入淡出效果的教程

本教程詳細(xì)講解如何利用css的opacity和visibility屬性結(jié)合transition,為bootstrap 5.3加載指示器(spinner)創(chuàng)建平滑的淡入淡出動(dòng)畫效果。文章通過示例代碼展示了從初始化隱藏、加載時(shí)淡入顯示到數(shù)據(jù)加載完成后淡出隱藏的完整實(shí)現(xiàn)過程,并提供了關(guān)鍵的css過渡技巧和注意事項(xiàng),以提升用戶體驗(yàn)。

在現(xiàn)代Web應(yīng)用中,加載指示器(如Bootstrap Spinner)是提升用戶體驗(yàn)的重要組成部分。它們?cè)跀?shù)據(jù)獲取或處理過程中向用戶提供視覺反饋,避免頁面無響應(yīng)的錯(cuò)覺。然而,直接通過修改元素的display屬性來顯示或隱藏加載指示器會(huì)導(dǎo)致突兀的視覺切換。為了實(shí)現(xiàn)更平滑、更專業(yè)的過渡效果,我們可以利用CSS的opacity和visibility屬性配合transition來創(chuàng)建淡入淡出動(dòng)畫。

核心概念:利用CSS過渡實(shí)現(xiàn)平滑動(dòng)畫

實(shí)現(xiàn)元素的平滑淡入淡出效果,通常涉及opacity(不透明度)和visibility(可見性)這兩個(gè)CSS屬性。

  • opacity:控制元素的透明度,從0(完全透明)到1(完全不透明)。改變opacity可以觸發(fā)平滑過渡。
  • visibility:控制元素的可見性,visible表示可見,hidden表示隱藏。hidden狀態(tài)的元素不占用布局空間,也不響應(yīng)事件。

單獨(dú)使用opacity進(jìn)行過渡會(huì)導(dǎo)致元素在完全透明后仍然占用空間并可能捕獲事件。為了解決這個(gè)問題,我們引入visibility屬性,并巧妙地利用其transition-delay。

關(guān)鍵技巧:visibility的延遲過渡

  • 淡出時(shí): 當(dāng)元素從可見變?yōu)殡[藏時(shí),我們希望opacity先完成從1到0的過渡,然后再將visibility設(shè)置為hidden。因此,visibility的過渡延遲應(yīng)與opacity的過渡時(shí)長(zhǎng)相同。
  • 淡入時(shí): 當(dāng)元素從隱藏變?yōu)榭梢姇r(shí),我們希望visibility立即變?yōu)関isible(transition-delay: 0s),這樣元素就能開始響應(yīng)事件并占用空間,然后opacity再從0過渡到1。

實(shí)現(xiàn)步驟

我們將通過一個(gè)模擬數(shù)據(jù)加載的場(chǎng)景來演示如何實(shí)現(xiàn)Bootstrap Spinner的淡入淡出效果。

蘆筍演示
蘆筍演示

一鍵出成片的錄屏演示軟件,專為制作產(chǎn)品演示、教學(xué)課程和使用教程而設(shè)計(jì)。

蘆筍演示34
查看詳情 蘆筍演示

1. HTML 結(jié)構(gòu)

首先,在HTML中設(shè)置Bootstrap Spinner和用于顯示數(shù)據(jù)的容器。注意,初始時(shí)為Spinner添加hidespinner類,使其默認(rèn)處于隱藏狀態(tài)。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Bootstrap Spinner 淡入淡出教程</title>
  <!-- 引入 Bootstrap 5.3 CSS -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous" />
  <style>
    /* 在這里添加自定義CSS */
  </style>
</head>
<body>
  <div class="spinner-border m-5 hidespinner" role="status" id="spinner">
    <span class="visually-hidden">加載中...</span>
  </div>
  <div id="dataContainer" class="container mt-4"></div>

  <!-- 引入 Bootstrap 5.3 JS Bundle -->
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
  <script>
    // 在這里添加JavaScript代碼
  </script>
</body>
</html>
登錄后復(fù)制

2. CSS 樣式定義

定義#spinner的默認(rèn)樣式和hidespinner類,實(shí)現(xiàn)淡入淡出效果。

#spinner {
  position: fixed; /* 使用fixed確保即使頁面滾動(dòng)也能保持居中 */
  top: 50%;
  left: 50%;
  width: 3.5rem;
  height: 3.5rem;
  transform: translate(-50%, -50%); /* 居中顯示 */
  z-index: 1050; /* 確保在其他內(nèi)容之上 */

  /* 默認(rèn)可見狀態(tài) */
  visibility: visible;
  opacity: 1;
  /* 淡入過渡:opacity立即開始,visibility無延遲 */
  transition: visibility 0s linear 0s, opacity 300ms ease-in-out;
}

#spinner.hidespinner {
  /* 隱藏狀態(tài) */
  visibility: hidden;
  opacity: 0;
  /* 淡出過渡:opacity先完成,visibility在300ms后變?yōu)閔idden */
  transition: visibility 0s linear 300ms, opacity 300ms ease-in-out;
}
登錄后復(fù)制

CSS說明:

  • position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);:用于將Spinner固定并大致居中顯示在視口上。

以上就是實(shí)現(xiàn)Bootstrap 5.3加載指示器平滑淡入淡出效果的教程的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。

下載
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問題
開源免費(fèi)商場(chǎng)系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)