在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 網頁設計教程 > 詳細頁面

如何使用css完成監控網絡連接狀態的頁面

如何使用css完成監控網絡連接狀態的頁面

更新時間:2025-11-27 文章作者:未知 信息來源:網絡 閱讀次數:

網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立...
網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。
本篇文章給大家帶來的內容是關于如何使用css實現監控網絡連接狀態的頁面 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

效果預覽

1098354818-5b7f3f5a8a78b_articlex.gif

源代碼下載

https://github.com/comehope/front-end-daily-challenges

代碼解讀

navigator.onLine 屬性用于獲取在線狀態,再配合相應的事件觸發,就可以開發一個在線檢測工具了。整個過程分成兩部分,先畫出視覺效果,再檢測在線/離線狀態。

定義 dom,容器中包含客戶端、信號和服務器:

<div class="detector">
    <div class="client"></div>
    <div class="signal"></div>
    <div class="server"></div>
</div>

居中顯示:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

在頂部增加一個橫條,用于顯示當前狀態是在線還是離線,用綠色表示在線:

:root {
    --status-color: green;
}

body {
    background: linear-gradient(var(--status-color) 5vh, #ccc 5vh);
}

定義容器尺寸:

.detector {
    width: 40em;
    height: 14em;
    font-size: 10px;
}

定義子元素(客戶端、信號、服務器)的整體布局和主色:

.detector {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #333;
}

設置子元素(客戶端、信號、服務器)和它們的偽元素的共有屬性:

.detector > * {
    position: relative;
    box-sizing: border-box;
}

.detector > *::before,
.detector > *::after {
    content: '';
    position: absolute;
    box-sizing: border-box;
}

畫出客戶端的顯示器:

.client {
    width: 17em;
    height: 10em;
    border: 0.5em solid;
    border-radius: 0.5em;
}

用偽元素畫出顯示器的底座:

.client {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: -4em;
}

.client::before {
    width: 1.5em;
    height: 3em;
    background-color: currentColor;
    top: 9.5em;
}

.client::after {
    width: 5em;
    height: 1em;
    background-color: currentColor;
    border-radius: 0.3em;
    top: 12.5em;
}

畫出服務器的機箱:

.server {
    width: 7em;
    height: 14em;
    border: 0.5em solid;
    border-radius: 0.5em;
}

用偽元素畫出硬盤,留意此處陰影的用法,用陰影畫出了第二塊硬盤:

.server::before {
    width: 5em;
    height: 1em;
    background-color: currentColor;
    border-radius: 0.2em;
    top: 8em;
    left: 0.5em;
    box-shadow: 0 1.5em 0;
}

用偽元素畫出按鈕,和上面陰影同樣的用法,這次用陰影畫出了第二個按鈕:

.server::after {
    width: 0.6em;
    height: 0.6em;
    background-color: currentColor;
    border-radius: 50%;
    right: 1.5em;
    bottom: 0.5em;
    box-shadow: 1em 0 0 0.1em;
}

畫出信號,注意配色用的是代表在線/離線的顏色,目前是綠色:

.signal,
.signal::before,
.signal::after {
    width: 1em;
    height: 1em;
    background-color: var(--status-color);
    border-radius: 50%;
}

.signal::before {
    right: 2.5em;
}

.signal::after {
    left: 2.5em;
}

給信號增加動畫效果:

.signal,
.signal::before,
.signal::after {
    animation: blink 0.6s infinite;
}

@keyframes blink {
    50% {
        filter: opacity(0.1);
    }
}

為第 2 個信號和第 3 個信號設置動畫延時,延時的值用變量定義:

:root {
    --second-signal-delay: 0.2s;
    --third-signal-delay: 0.4s;
}

.signal::before {
    animation-delay: var(--second-signal-delay);
}

.signal::after {
    animation-delay: var(--third-signal-delay);
}

至此,視覺效果已經完成,目前是在線狀態的效果,在 :root 中一共定義了 3 個變量,頂部橫條和信號是綠色,信號燈依次閃爍表示正在傳輸數據:

:root {
    --status-color: green;
    --second-signal-delay: 0.2s;
    --third-signal-delay: 0.4s;
}

通過修改這 3 個變量的值,可以得到離線狀態的視覺效果,頂部橫條和信號變為紅色,信號燈一起閃爍表示線路不通:

:root {
    --status-color: orangered;
    --second-signal-delay: 0s;
    --third-signal-delay: 0s;
}

接下來通過檢測在線/離線狀態,動態應用這 2 種效果。

定義在線狀態主題:

const ONLINE_THEME = {
    statusColor: 'green',
    secondSignalDelay: '0.2s',
    thirdSignalDelay: '0.4s'
}

類似地,定義離線狀態主題:

const OFFLINE_THEME = {
    statusColor: 'orangered',
    secondSignalDelay: '0s',
    thirdSignalDelay: '0s'
}

創建一個函數,用于根據在線/離線狀態顯示不同的主題:

function detectOnlineStatus() {
    let theme = navigator.onLine ? ONLINE_THEME : OFFLINE_THEME
    let root = document.documentElement
    root.style.setProperty('--status-color', theme.statusColor)
    root.style.setProperty('--second-signal-delay', theme.secondSignalDelay)
    root.style.setProperty('--third-signal-delay', theme.thirdSignalDelay)
}

detectOnlineStatus()

現在,關掉 wifi 連接,然后刷新頁面,頁面會采用紅色主題;再打開 wifi 連接,然后刷新頁面,頁面會采用綠色主題。

接下來把檢測函數與系統事件綁定,當連接斷開或重新連接時,頁面會自動設置主題,不用手動刷新頁面了:

window.addEventListener('online', detectOnlineStatus)
window.addEventListener('offline', detectOnlineStatus)

大功告成!

相關推薦:

如何使用純css實現賽車的loader動畫效果(附代碼)

如何使用純CSS實現彩虹條紋文字的效果(附代碼)

以上就是如何使用css實現監控網絡連接狀態的頁面的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 999在线观看视频| 国产av人人夜夜澡人人爽| 国产高清视频网站| 欧美视频免费播放| 欧美视频在线免费播放| 国产精品www在线观看| 欧美久久久久久久久久久久久久| 激情图片中文字幕| 黄色a级在线观看| 久久天天东北熟女毛茸茸| 日本美女爱爱视频| 东北少妇不带套对白| 成人一对一视频| 成人在线免费播放视频| 婷婷激情四射五月天| 91丝袜超薄交口足| 欧美国产视频一区| 国产偷人视频免费| 在线观看免费av网址| 天天操天天干天天玩| 国产精品一线二线三线| 国产主播在线看| www.超碰97.com| 日本天堂免费a| 国产偷人视频免费| 国产a级片免费看| 日韩国产欧美亚洲| 欧美大片久久久| www.成年人视频| 亚洲性生活网站| 日本男女交配视频| 亚洲这里只有精品| 菠萝蜜视频在线观看入口| 无码aⅴ精品一区二区三区浪潮 | 永久av免费在线观看| 无码粉嫩虎白一线天在线观看| 六月丁香婷婷激情| 麻豆md0077饥渴少妇| 91免费视频网站在线观看| 91免费视频污| 国产免费成人在线| 青草网在线观看| 天天色天天干天天色| 2022亚洲天堂| 亚洲色欲久久久综合网东京热| 国产又黄又猛又粗又爽的视频| 欧美日韩亚洲国产成人| 波多结衣在线观看| 欧美日韩一道本| 50度灰在线观看| 国产麻豆电影在线观看| 国产一线二线三线在线观看| 日本a在线免费观看| 女同性恋一区二区| 久久成年人网站| 一本岛在线视频| 免费在线激情视频| 国产精品va无码一区二区| 精品人妻大屁股白浆无码| 91aaa精品| 特级黄色片视频| 一级片黄色免费| 加勒比av中文字幕| 欧美精品 - 色网| 国产精品自在自线| 999久久久精品视频| 亚欧美在线观看| 国产一二三区av| 中文字幕精品一区二区三区在线| 亚洲欧美另类动漫| 国产 porn| 一级特黄性色生活片| 一区二区三区视频在线观看免费| 国产天堂在线播放| 国产aaaaa毛片| 国产精品久久久久久久99| 大桥未久一区二区| 台湾无码一区二区| 日本网站免费在线观看| 久久网站免费视频| 黄色手机在线视频| 一级黄色大片儿| 中文精品无码中文字幕无码专区| 国产 欧美 日韩 一区| 国产视频一视频二| 波多结衣在线观看| 免费日韩在线观看| 国产日韩欧美精品在线观看| 免费黄色福利视频| 亚洲综合20p| 黄色一级片在线看| 婷婷免费在线观看| 污污污污污污www网站免费| 大j8黑人w巨大888a片| 亚洲一区二区三区四区五区xx| 三上悠亚av一区二区三区| 亚洲av综合色区| 免费av网址在线| 神马午夜伦理影院| 国产精品入口免费软件| 免费成人进口网站| 少妇高清精品毛片在线视频| 人人爽人人爽av| 老熟妇仑乱视频一区二区| 涩涩网站在线看| 丁香啪啪综合成人亚洲| 青青在线免费视频| 免费看涩涩视频| 日韩人妻精品无码一区二区三区| 17c国产在线| 久久精品网站视频| 欧美 日韩 国产在线观看| 91丝袜超薄交口足| 精品日韩久久久| 久久无码高潮喷水| av免费看网址| 国产成人在线小视频| 午夜啪啪小视频| 亚洲免费看av| 欧美日韩在线成人| 日韩中文字幕二区| 国产老熟妇精品观看| 欧美做暖暖视频| 国产免费xxx| 中文字幕の友人北条麻妃| 亚洲一区二区中文字幕在线观看| 亚洲欧美国产日韩综合| 茄子视频成人免费观看| 男人添女人下部高潮视频在观看| 欧美另类videosbestsex日本| 在线播放黄色av| 亚欧精品在线视频| 涩多多在线观看| 国产精品夜夜夜爽张柏芝| 91香蕉视频免费看| 免费看啪啪网站| 9色视频在线观看| 日本国产中文字幕| 久久av综合网| 国产91在线视频观看| 99热成人精品热久久66| 宅男噜噜噜66国产免费观看| 999香蕉视频| 色婷婷.com| 青青草影院在线观看| 亚洲啊啊啊啊啊| 亚洲中文字幕无码专区| 久久久久免费精品| 蜜桃福利午夜精品一区| 日本精品免费视频| 精品无码国模私拍视频| 欧美亚洲另类色图| 不卡的av中文字幕| 女女同性女同一区二区三区按摩| 国产片侵犯亲女视频播放| 亚洲不卡中文字幕无码| 99视频在线视频| 亚洲最新免费视频| 播放灌醉水嫩大学生国内精品| 无码精品国产一区二区三区免费| 国产精品入口免费软件| 50度灰在线观看| 欧美日韩第二页| 污视频在线观看免费网站| 成人一区二区免费视频| 中文字幕 日韩 欧美| 草草视频在线免费观看| 91制片厂毛片| 国产3p露脸普通话对白| 男人添女人下面免费视频| 免费的一级黄色片| 亚洲欧洲日本精品| 少妇人妻在线视频| 一区中文字幕在线观看| 1024精品视频| 欧美大黑帍在线播放| 男人午夜视频在线观看| 无码aⅴ精品一区二区三区浪潮| 三年中国中文在线观看免费播放| 欧美黑人经典片免费观看| 亚洲欧美日韩不卡| 一女二男3p波多野结衣| 每日在线更新av| av在线观看地址| 在线成人免费av| 黄色小视频免费网站| 男女曰b免费视频| 国产九九九九九| 丝袜人妻一区二区三区| 亚洲视频在线不卡| 中文字幕天天干| 亚洲成色www.777999| 欧美丰满熟妇bbbbbb百度| 成人在线播放网址| 中文字幕色呦呦| 亚洲天堂第一区| 黑人巨大国产9丨视频| 天堂av手机在线| 污污视频在线免费| 中文字幕一区二区在线观看视频 |