精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一步到位:三行CSS代碼輕松實現全網站暗黑模式

開發 前端
深色模式是一種設計趨勢,網站的配色方案被更改為深色背景,配以淺色文字和元素。它也被稱為夜間模式或黑暗主題。深色模式的目的是減少低光環境下的眼睛疲勞,節省移動設備的電池壽命,并創造一個時尚現代的美感。

本文由 Mads Stoumann 撰寫的博文,主要介紹了如何通過簡單的三行CSS代碼實現網站的暗黑模式。該博文提到,<system-color>關鍵字一般反映用戶、瀏覽器或操作系統做出的默認顏色選擇。這些關鍵字通常用于瀏覽器的默認樣式表。通過這種方式,我們可以輕松地實現網站的暗黑模式。

在另一篇博文中,Mads Stoumann詳細介紹了如何使用SVG和CSS重新創建Apple的暗黑模式圖標。這證明了他在此領域的深厚技術和創新能力。

總的來說,這個網站提供了許多關于使用CSS和SVG進行網站設計和開發的有用信息,特別是關于暗黑模式的實現。這對那些希望在自己的網站上實現暗黑模式的開發者來說是非常有價值的資源。

下面是正文~~

深色模式是一種設計趨勢,網站的配色方案被更改為深色背景,配以淺色文字和元素。它也被稱為夜間模式或黑暗主題。深色模式的目的是減少低光環境下的眼睛疲勞,節省移動設備的電池壽命,并創造一個時尚現代的美感。

許多熱門網站和應用程序現在都提供了黑暗模式選項 —— 如 TailwindCSS:

圖片

如果您是開發者,您很可能已經知道如何在開發者工具中切換暗黑模式:

圖片

如果你想要為操作系統(以及所有支持暗黑模式的應用程序)切換暗黑模式,請轉到系統設置。在Mac上,可以在系統設置>外觀下找到它:

圖片

使用系統顏色的深色模式

首先,我們將創建一個帶有標題的簡單HTML:

<body>
  <h1>Hello Darkness, My Old Friend</h1>
</body>

在樣式表中,添加:

body {
  color-scheme: light dark;
}

這會告訴瀏覽器,document 可以接受亮色和暗色的 color-scheme 。

當前如果現在指定為 dark 瀏覽器也不會變成黑色。

圖片

這是因為 user-agent 樣式表沒有設置任何默認顏色。我們可以通過使用系統顏色快速解決這個問題:

body {
  background-color: Canvas;
  color: CanvasText;
  color-scheme: light dark;
}

圖片

僅用3行CSS代碼就能為我們的整個網站實現暗黑模式!

下面,我們更深入地了解系統顏色,來自規范:

一般來說,<system-color>關鍵字反映了用戶、瀏覽器或操作系統做出的默認顏色選擇。由于這個原因,它們通常在瀏覽器默認樣式表中使用。

這是一個淺色模式演示,在Safari中展示了可用的系統顏色:

圖片

如果我們切換到深色模式,某些顏色會完全改變(就像我們已經遇到的 Canvas 和 CanvasText ),而其他顏色只會稍微改變:

圖片

使用系統顏色進行黑暗模式是一種簡化的黑暗模式體驗。是的,它會起作用 — 但是純黑白有點無聊

我們可以在CSS中使用 color-mix 來增加趣味性  將 CanvasText (黑色或白色)混入 Canvas (白色或黑色)以獲得 background-color ,反之亦然,用于 color :

body {
  background-color: color-mix(in srgb, Canvas, CanvasText 2.5%);
  color: color-mix(in srgb, CanvasText, Canvas 15%);
}

這樣看起來會更柔和:

圖片

從顏色中減去飽和度,是在深色模式中制作顏色變化的一種廣泛使用的方法。

在CSS中使用相對顏色,我們可以做到這一點:

background: hsl(from ActiveText h calc(s - 30%) l);

不幸的是,相對顏色在任何瀏覽器中都不能與系統顏色一起工作。

注意:系統顏色可以被強制顏色覆蓋(盡管很少使用)——所以不要過分依賴這種技術。

我們繼續學習另一種技巧,這將使我們能夠精細控制我們的暗黑模式顏色。

使用 prefers-color-scheme 媒體查詢

要為亮色和暗色模式指定特定顏色,我建議使用 CSS 自定義屬性,然后使用 prefers-color-scheme 媒體查詢更新這些屬性。

以淺色模式為默認,我們將顏色添加到 :where(body) -部分,將它們與我們的常規 body -樣式分開:

/* Properties */
:where(body) {
  --background-color: #FFF;
  --text-color: #222;
}
body {
  background-color: var(--background-color);
  color: var(--text-color);
}

然后,對于暗黑模式,我們將簡單地更新這些顏色屬性:

@media (prefers-color-scheme: dark) {
  :where(body) {
    --background-color: hsl(228, 5%, 15%);
    --text-color: hsl(228, 5%, 80%);
  }
}

圖片

但是,如果我們希望用戶根據自己的需求選擇我們網站的版本,而不是根據系統設置呢?

他們可能更喜歡將系統設置為深色模式,但我們的網站是淺色模式。讓我們創建一個切換器!如果您訪問像 TailwindCSS 這樣的網站,您會注意到當您從 color-scheme-toggler 中選擇“dark”時,會在 html -節點上添加一個 dark -類。這是通過 JavaScript 完成的:

創建顏色方案切換器

如果你用過 TailwindCSS ,你會注意到當你從 color-scheme-toggler 中選擇“dark”時,會在 html -節點上添加一個 dark -類。這是通過 JavaScript 完成的:

window.matchMedia('(prefers-color-scheme: dark)').matches)) {
  document.documentElement.classList.add('dark')
} else {
  document.documentElement.classList.remove('dark')
}

Open Props 正在使用類似的方法,但是更新 data-theme 屬性,然后在兩個塊中定義屬性:

[data-theme=light] {
  --nav-icon: var(--gray-7); /* etc */
}
[data-theme=dark] {
  --nav-icon: var(--gray-5); /* etc */
}

使用 CSS

使用一些全新的CSS技術,我們可以在不使用JavaScript的情況下創建一個切換器。我們將創建一個具有3種狀態的切換器:

  • Light (forced)
  • Auto (system default, could be either light or dark)
  • Dark (forced)

首先,一些基本標記:

<fieldset>
  <label>
    <input type="radio" name="color-scheme" id="color-scheme-light" value="0">
    Light
  </label>
  <label>
    <input type="radio" name="color-scheme" value="auto" checked>
    Auto
  </label>
  <label>
    <input type="radio" name="color-scheme" id="color-scheme-dark" value="1">
    Dark
  </label>
</fieldset>

在添加了一些基本樣式后(請參閱下面的Codepen演示),它的呈現效果如下:

圖片

我們將在html元素中添加一個 --darkmode -屬性和 container-type :

html {
  --darkmode: 0;
  container-name: root;
  container-type: normal;
}

我們使用 @container style() -查詢,因此我們需要將節點設置為“container”。

既然我們不想觀察到 inline-size 變化,我們只需添加值 normal 。

如果用戶選擇了一個“強制”值,我們將更新 --darkmode :

html:has(#color-scheme-light:checked) { --darkmode: 0; }
html:has(#color-scheme-dark:checked) { --darkmode: 1; }

最后,我們將使用容器 style() -查詢來檢查,如果 --darkmode 設置為 1 :

@container root style(--darkmode: 1) {
  body {
    --background-color: hsl(228, 5%, 15%);
    --text-color: hsl(228, 5%, 80%);
  }
}

注意:@container style() -queries 目前僅在 Chrome 中的 behind-a-flag 下工作,這還是初期階段,所以不要在生產環境中使用。

現在,在選擇“Dark”之后,我們的切換器(和頁面)看起來是這樣的:

圖片

存儲狀態

如果我們想要存儲用戶的選擇,就需要一點JavaScript!

首先,為 <fieldset> 添加一個標識符:

<fieldset id="colorScheme">

接下來,在JavaScript中:

const colorScheme = document.getElementById('colorScheme')
colorScheme.addEventListener('change', event => {
  localStorage.setItem('color-scheme', event.target.value)
})

現在,我們只需要在文檔加載后將屬性設置為 localStorage -值:

window.addEventListener("load", event => {
  const scheme = localStorage.getItem('color-scheme') || 'auto'
  if (scheme) {
    document.documentElement.style.setProperty('--darkmode', scheme)
  }
})

要在切換器中選擇正確的模式,請將此添加到 if -塊:

const selected = [...colorScheme.elements].filter(element => element.value === scheme)
if (selected) selected[0].checked = true;

Toggler

事例:https://codepen.io/stoumann/pen/KKGNbQr

System Colors

https://codepen.io/stoumann/pen/GRYNPzy。

責任編輯:姜華 來源: 大遷世界
相關推薦

2013-12-09 09:20:40

開源云平臺

2009-11-17 10:13:03

linux系統時間操作系統

2012-12-17 15:31:00

Windows PhoWindows PhoWindows Pho

2009-02-17 18:41:19

2025-08-28 06:15:00

2020-09-24 10:26:43

運維開發技術

2010-05-07 11:04:15

2009-12-18 11:29:08

2020-02-12 18:45:39

負載均衡網站處理壓力

2012-06-19 09:40:51

2013-10-17 11:29:11

2022-08-29 15:19:09

CSS煙花動畫

2009-02-18 18:06:57

虛擬化虛擬機Vmware

2025-11-07 08:56:33

2011-02-25 09:33:01

2019-02-13 12:05:57

編程容器開發

2017-11-17 08:27:47

谷歌自然語言框架

2025-09-19 09:03:00

2025-05-16 11:44:43

CSS模式樣式

2024-11-29 10:58:54

CSS代碼黑模式
點贊
收藏

51CTO技術棧公眾號

亚洲7777| 国产日韩在线看| 中文字幕一区二区久久人妻网站| 久草在线资源站手机版| 久久精品一区四区| 国产欧美 在线欧美| 538任你躁在线精品视频网站| 国产suv精品一区| 在线观看不卡视频| 日韩极品视频在线观看| eeuss影院www在线观看| 国产高清在线观看免费不卡| 午夜精品一区二区三区在线视 | 美女在线免费视频| 丰满熟妇乱又伦| 日本伊人色综合网| 欧美激情亚洲精品| 亚洲欧美另类日本| 欧美aaaaaaaa牛牛影院| 日韩中文字幕在线一区| 2023国产精品久久久精品双| 亚洲精品福利在线| 久久国产精品国产精品| 乱人伦视频在线| 一二三区精品福利视频| 亚洲v欧美v另类v综合v日韩v| 性色av蜜臀av| 麻豆久久久久久| 青草成人免费视频| 九九九国产视频| 91青青国产在线观看精品| 日韩精品视频在线播放| 绯色av蜜臀vs少妇| 国产95亚洲| 欧美图片一区二区三区| 国产日韩一区二区在线| missav|免费高清av在线看| 中文字幕中文字幕中文字幕亚洲无线| 51国偷自产一区二区三区| 自拍偷拍第八页| 毛片一区二区| 欧洲美女免费图片一区| 西西44rtwww国产精品| 亚洲高清毛片| 久久久人成影片一区二区三区| 国产精品久久久精品四季影院| 成人情趣视频网站| 在线中文字幕日韩| 妖精视频在线观看免费 | 麻豆91在线观看| 国产精品都在这里| 久久国产香蕉视频| 日韩高清电影一区| 国产精品久久久久久婷婷天堂| 国产寡妇亲子伦一区二区三区四区| 狠色狠色综合久久| 欧美日韩成人在线观看| 九九视频免费看| 红桃视频亚洲| 91精品国产亚洲| 午夜婷婷在线观看| 日韩电影在线一区二区三区| 日本一欧美一欧美一亚洲视频| 狠狠人妻久久久久久综合| 欧美专区18| 国产精品自拍偷拍| 97人妻精品一区二区三区动漫| 久久er精品视频| 51精品国产人成在线观看 | 成人性生交大合| 国产女人水真多18毛片18精品| 日韩一级片免费看| 91视频一区二区| 日韩高清国产精品| aaa大片在线观看| 亚洲一区免费视频| 亚洲人精品午夜射精日韩| 中国字幕a在线看韩国电影| 在线精品视频免费播放| 亚洲一区二区三区四区五区| 精品久久亚洲| 日韩精品视频免费在线观看| 岛国片在线免费观看| 欧美日韩国产色综合一二三四| 69av在线视频| 亚洲综合一区中| 国产成人免费av在线| 久久一区二区三区av| 午夜免费播放观看在线视频| 樱桃国产成人精品视频| 日本成年人网址| 青青草国产一区二区三区| 精品日本一线二线三线不卡| 精品人妻互换一区二区三区| 五月精品视频| 69视频在线播放| 一级特黄aaa大片| 成人99免费视频| 亚洲午夜精品国产| 日本不良网站在线观看| 欧美日韩国产高清一区二区三区 | 欧美黑人视频一区| 99re这里只有精品在线| 国产毛片精品视频| 欧美性xxxx69| 国产在线xxx| 欧美日韩亚洲丝袜制服| youjizz.com国产| 欧美电影一二区| 欧美最顶级丰满的aⅴ艳星| 国产女无套免费视频| 久久久综合视频| 丰满人妻一区二区三区53号| 色视频在线看| 日韩理论片中文av| 激情综合网婷婷| 99亚洲乱人伦aⅴ精品| 中文字幕欧美专区| 999这里只有精品| 国内成人精品2018免费看| 欧美极品色图| а√天堂中文在线资源8| 欧美精品欧美精品系列| 精品人妻一区二区三区四区| 亚洲精一区二区三区| 亚洲伊人第一页| aaa一区二区| 国产女人18水真多18精品一级做| 日韩av高清在线看片| 亚洲国产中文在线| 久久视频在线免费观看| 波多野结衣在线电影| 91在线国产观看| 黄色一级片在线看| 亚洲专区**| 欧美日韩成人免费| www.97超碰| 亚洲视频1区2区| 三上悠亚在线一区| 久久激情电影| 国产精品免费在线免费| 国模吧精品人体gogo| 日韩欧美高清在线视频| 无遮挡aaaaa大片免费看| 亚洲精品韩国| 国产精品免费一区二区三区| 成人av免费| 欧美一区二区三区系列电影| 永久免费看片视频教学| 精品一区二区av| 中文字幕一区二区三区最新| 久久亚洲精品中文字幕| 色婷婷综合成人| 91精品国自产| 亚洲免费在线看| 中文字幕亚洲日本| 一区福利视频| 久久久久久久有限公司| 午夜激情电影在线播放| 国产一区二区成人| 91成人国产综合久久精品| 亚洲欧洲国产日韩| 亚洲妇女无套内射精| 激情久久综合| 久久一区二区三区av| 三级成人在线| 久久久精品在线观看| 亚洲国产精品久久久久久久| 亚洲成av人片| 久久久久久久毛片| 国产一区二区三区免费在线观看 | 18免费在线视频| 欧美久久一二区| 久久中文字幕无码| 91在线国内视频| 艹b视频在线观看| 欧美日韩1区| 免费日韩电影在线观看| 开心久久婷婷综合中文字幕| 久久99久国产精品黄毛片入口| 欧美在线精品一区二区三区| 色老汉一区二区三区| 影音先锋男人看片资源| 国产不卡在线播放| 妺妺窝人体色www在线小说| 国产成人三级| 91亚洲国产成人久久精品网站| 美女91在线| 伊人久久久久久久久久久久久| 国产乱码久久久| 狠狠色噜噜狠狠狠狠97| 你懂得在线观看| 不卡一区二区中文字幕| 亚洲污视频在线观看| 红桃视频欧美| 亚洲视频电影| 亚洲婷婷伊人| 亚洲自拍偷拍色图| 欧美一级大片| 久久久免费电影| 香蕉视频网站在线观看| 亚洲国产日韩欧美综合久久| 日本视频免费观看| 亚洲午夜三级在线| 免费在线视频欧美| 欧美日韩在线一区| 神马久久精品综合| wwwwxxxxx欧美| 日韩欧美理论片| 久久亚洲影院| 精品免费久久久久久久| 国产麻豆一区二区三区精品视频| 91大片在线观看| 欧美男体视频| 国内精品久久久久影院优| 天堂中文а√在线| 亚洲欧美激情四射在线日| 精品久久人妻av中文字幕| 欧美午夜在线观看| 日本道在线观看| 一区二区三区精品视频| 色偷偷www8888| 欧美高清一级片在线观看| bl动漫在线观看| 国产成人aaaa| 91欧美一区二区三区| 青草国产精品久久久久久| jizzjizz国产精品喷水| 欧美在线资源| 免费看啪啪网站| 国产videos久久| 久久99精品国产99久久| jizz性欧美23| 97视频资源在线观看| 国产va免费精品观看精品| 国产欧美日韩精品在线观看| 欧美123区| 奇米4444一区二区三区| 可以免费看的av毛片| 亚洲伦理久久| 国产v综合ⅴ日韩v欧美大片| 国产福利电影在线播放| 欧美极品少妇xxxxⅹ裸体艺术| 日韩av官网| 久久久久久久久久久免费 | 91精品国产成人| 99在线视频影院| 777精品视频| 性感女国产在线| 日本精品va在线观看| 综合另类专区| 国产国语刺激对白av不卡| 欧美黄色三级| 国产精品美女视频网站| 97成人超碰| 91九色在线视频| 日本高清久久| 国产伦视频一区二区三区| 久久国产精品免费精品3p| 精品无人区一区二区三区竹菊| 青青久久av| 欧洲一区二区日韩在线视频观看免费| 国产一区二区区别| 亚洲人体一区| 欧美在线91| 成人免费aaa| 日韩av一级电影| 中文字幕色网站| 成人一区二区三区视频| 国产在线观看无码免费视频| 欧美极品xxx| 免费在线观看一级片| 午夜精品福利在线| 性高潮视频在线观看| 欧美一区二区网站| 艳母动漫在线看| 日韩在线视频导航| 啦啦啦中文在线观看日本| 欧美整片在线观看| 四虎在线精品| 国产区一区二区| 成人婷婷网色偷偷亚洲男人的天堂| 国产成人三级视频| 亚洲日本激情| 日韩中文字幕a| 成人妖精视频yjsp地址| 亚洲综合网在线观看| 国产精品久久久久9999吃药| 国产性猛交普通话对白| 色噜噜狠狠成人网p站| av手机免费看| 亚洲性线免费观看视频成熟| 亚洲无线看天堂av| 国产suv精品一区二区三区88区| www久久久| 人偷久久久久久久偷女厕| 欧美成熟视频| 黄色免费网址大全| 99精品欧美一区二区蜜桃免费| 国产美女高潮视频| 色老汉av一区二区三区| 亚洲免费成人在线| 中文字幕亚洲欧美一区二区三区| 欧美大片黄色| 国产精品视频地址| 色婷婷久久久| 欧美极品少妇无套实战| 免费国产亚洲视频| av无码一区二区三区| 亚洲女子a中天字幕| 国产一卡二卡三卡| 亚洲国产高清福利视频| 大片免费在线观看| 国产精品视频永久免费播放| 秋霞综合在线视频| 国产精品视频一二三四区| 免费高清在线一区| 国产一二三四五区| 午夜精品在线视频一区| 999久久久久| 色黄久久久久久| 综合在线影院| 美媛馆国产精品一区二区| 黄色另类av| 台湾佬美性中文| 亚洲欧美区自拍先锋| 亚洲天堂视频网| 尤物yw午夜国产精品视频| 91精品产国品一二三产区| 国产91一区二区三区| 亚洲字幕久久| 不用播放器的免费av| 国产精品视频免费| 中文字幕人妻精品一区| 国产午夜精品视频| 欧美精品资源| 午夜精品亚洲一区二区三区嫩草| 丝袜诱惑制服诱惑色一区在线观看| 在线观看av中文字幕| 亚洲va韩国va欧美va| 懂色av蜜臀av粉嫩av分享吧| 欧美国产视频一区二区| 亚洲三级av| 国产中文字幕乱人伦在线观看| 国产成人精品午夜视频免费| 免费网站观看www在线观| 日韩欧美国产麻豆| 日韩三级免费| 国内一区在线| 免费久久99精品国产自在现线| 亚洲国产欧美视频| 欧美性色欧美a在线播放| 888av在线| 亚洲一区二区三区视频播放| 欧美片第1页综合| 亚洲视频 中文字幕| 欧美日韩国产区| 国产精品一级伦理| 国产中文日韩欧美| 国产精品分类| 五月天激情小说| 日韩欧美精品在线观看| 成年网站在线| 91久久久久久久| 亚洲国产一区二区三区a毛片| 亚洲久久久久久| 91九色最新地址| 久操视频在线播放| 国产区一区二区三区| 日韩不卡在线观看日韩不卡视频| 国产18无套直看片| 日韩女优制服丝袜电影| 国产精品高颜值在线观看| 欧美一区二区综合| 久草精品在线观看| 国产精品免费av一区二区| 国产一区二区精品丝袜| 国产精品一区二区三区www| 无码 制服 丝袜 国产 另类| 久久久精品2019中文字幕之3| 夜夜嗨aⅴ一区二区三区| 欧美激情国产精品| 欧美一区三区| 少妇丰满尤物大尺度写真| 欧美午夜精品伦理| 色综合久久影院| 精品国产区在线| 精品在线播放午夜| 成人免费看片98欧美| 久久香蕉频线观| 亚洲第一二三区| 伊人国产精品视频| 日韩欧美在线第一页| 国产原创在线观看| 欧美黑人3p| 国产成a人亚洲精| 亚洲午夜无码久久久久| 97精品一区二区视频在线观看| 日韩激情图片| av在线播放网址|