14 行 CSS 代碼實現明暗模式

      網友投稿 586 2025-04-04

      最近我打算對我的個人網站添加明暗模式的自動檢測。這個解決方案不使用 JavaScript。相反,它通過CSS 媒體查詢來檢測用戶的系統設置,并使用兩個自定義CSS屬性來確定一個基本的配色方案。

      定義 2 個自定義的 CSS 屬性

      CSS 自定義屬性也被稱為 CSS變量或級聯變量。你可以在 CSS 文件的任何地方定義 CSS 自定義屬性,它們遵循與其他 CSS 規則相同的級聯和特定模式。例如,您可以在 document root 中定義 CSS 變量,并在更具體的 CSS類 中覆蓋它們。您還可以檢查和調試瀏覽器開發工具中聲明的CSS變量,這些變量顯示在樣式表規則下面。

      CSS自定義屬性由前綴為兩個破折號(——)的單詞聲明組成,并使用var()函數訪問。

      :root { --my-color-variable: #000000; } .element { color: var(--my-color-variable); }

      您還可以向 var() 函數傳遞第二個參數,當您嘗試使用自定義屬性時,如果自定義屬性不存在,它將充當回退值。

      .element { color: var(--my-new-color, #ff0000); }

      對于這種明/暗模式解決方案,在文檔根 document.root 定義兩個顏色變量—一個用于前景色,一個用于背景色。我傾向于默認選擇暗模式,所以我將背景色設置為黑色(--color-bg),前景色設置為白色(--color-fg)。

      :root { --color-bg: #000000; --color-fg: #ffffff; }

      媒體查詢:prefers-color-scheme

      14 行 CSS 代碼實現明暗模式

      接下來,我們將使用 preferences-color-scheme CSS 媒體查詢連接到系統設置。當檢測到 light 主題設置時,下面的代碼將--color-bg設置為白色,--color-fg設置為黑色。

      @media (prefers-color-scheme: light) { :root { --color-bg: #ffffff; --color-fg: #000000; } }

      添加 body 樣式

      最后,使用 CSS 自定義屬性,設置 HTML 主體元素的背景顏色(頁面顏色)和文本顏色,如果沒有覆蓋,所有的子元素都將繼承它們。

      body { background-color: var(--color-bg); color: var(--color-fg); }

      現在,你已經實現了明暗模式的支持。快自己寫一個例子試試吧~

      完整代碼

      :root { --color-bg: #000000; --color-fg: #ffffff; } @media (prefers-color-scheme: light) { :root { --color-bg: #ffffff; --color-fg: #000000; } } body { background-color: var(--color-bg); color: var(--color-fg); }

      CSS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格加框線的方法步驟圖解(excel表格怎么添加框線)
      下一篇:Excel從右提取指定字符的RIGHT函數使用基礎教程
      相關文章
      亚洲人成综合网站7777香蕉| 午夜在线a亚洲v天堂网2019| 国产精品亚洲精品爽爽| 亚洲熟妇色自偷自拍另类| 亚洲欧洲在线观看| 亚洲国产精品人久久| 亚洲av无码不卡一区二区三区 | 亚洲精品国产日韩| 亚洲国产av美女网站| 亚洲欧洲另类春色校园小说| 亚洲国产模特在线播放| 亚洲视频一区在线观看| 亚洲精品视频观看| 亚洲短视频在线观看| 666精品国产精品亚洲 | 久久久久亚洲Av无码专| 精品日韩亚洲AV无码| 亚洲精品乱码久久久久久下载 | 四虎精品亚洲一区二区三区| 在线观看亚洲精品专区| 亚洲av再在线观看| jlzzjlzz亚洲乱熟在线播放| 亚洲人成网77777亚洲色| 亚洲AV日韩精品久久久久| 亚洲色图在线观看| 亚洲理论精品午夜电影| 亚洲av日韩av无码av| 亚洲午夜无码久久久久软件| 亚洲AV女人18毛片水真多| 亚洲 综合 国产 欧洲 丝袜| 亚洲一区二区视频在线观看| 亚洲综合精品香蕉久久网| 国产AV无码专区亚洲AVJULIA| 情人伊人久久综合亚洲| 亚洲精品福利视频| 亚洲一区二区三区四区视频| 亚洲精品无码人妻无码| 亚洲成片观看四虎永久| 亚洲一区二区三区自拍公司| 亚洲伦理一区二区| 亚洲一级免费毛片|