成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個深色模式的簡單 CSS 技巧

開發 前端
讓你的網站根據用戶選擇的主題進行調整的能力是一個很棒的輔助功能。你可能已經熟悉媒體查詢了。它們被廣泛地用于使網站具有響應性。width 和 height 屬性包含視區的尺寸。然后,你可以使用 CSS 在不同的尺寸下呈現不同的布局。

[[433264]]

讓你的網站根據用戶選擇的主題進行調整的能力是一個很棒的輔助功能。

你可能已經熟悉媒體查詢media query了。它們被廣泛地用于使網站具有響應性。width 和 height 屬性包含視區的尺寸。然后,你可以使用 CSS 在不同的尺寸下呈現不同的布局。

prefers-color-scheme 媒體查詢 的工作方式與此相同。用戶可以將他們的操作系統配置為使用淺色或深色主題。prefers-color-scheme 包含這個值。該值是 light 或 dark ,盡管 W3C 規范指出它可能支持未來的值,如 sepia。我為這兩種模式指定不同的 CSS 變量值,讓用戶的操作系統來決定。

prefers-color-scheme 媒體查詢

prefers-color-scheme 媒體查詢的兩種變化是:

  1. /* Light mode */
  2. @media (prefers-color-scheme: light) {
  3. :root {
  4. --body-bg: #FFFFFF;
  5. --body-color: #000000;
  6. }
  7. }
  8.  
  9. /* Dark mode */
  10. @media (prefers-color-scheme: dark) {
  11. :root {
  12. --body-bg: #000000;
  13. --body-color: #FFFFFF;
  14. }
  15. }

在上面的 CSS 中,--body-bg 和 --body-color 是 CSS 變量。正如你所看到的,它們對兩種模式都包含不同的值。在淺色主題中,我設置了一個白色背景和黑色文本。在深色主題中,我設置了黑色背景和白色文本。

因為規范說 W3C 可能會引入未來的值,所以把這個 CSS 轉換為默認值是有意義的。

  1. /* Light mode */
  2. :root {
  3. --body-bg: #FFFFFF;
  4. --body-color: #000000;
  5. }
  6.  
  7. /* Dark mode */
  8. @media (prefers-color-scheme: dark) {
  9. :root {
  10. --body-bg: #000000;
  11. --body-color: #FFFFFF;
  12. }
  13. }

在上面的代碼中,我默認定義了一個淺色主題,如果媒體查詢是 dark,則將其轉換為深色主題。這樣一來,以后任何添加到媒體查詢的值都會默認設置為淺色主題。

使用 CSS 變量

現在我為不同的主題設置了不同的值,我需要實際使用它們來設計頁面。

  1. body {
  2. background: var(--body-bg);
  3. color: var(--body-color);
  4. }

var() 語法 是 CSS 使用變量的方式。在上面的代碼中,我是說把 background 設置為 --body-bg 的值,把 color 設置為 --body-color 的值。注意,這些變量的值來自媒體查詢。這意味著背景和前景的顏色是根據操作系統的設置而改變的!

這就是媒體查詢的真正能力。提供一個從操作系統到網頁的一致的用戶體驗。

如果你進入 findmymastodon.com,并切換你的操作系統的主題,你會看到從一個主題到另一個主題的過渡。

CSS 工作組 網站也使用同樣的媒體查詢。改變你的操作系統主題,網站就會切換主題來進行調整。

結論

請注意,使用 prefers-color-scheme 與使用普通的編程語言沒有什么不同。我定義了一些變量,這些變量的值根據一些邏輯而改變。而這些變量然后被用于進一步的操作。

讓你的網站根據用戶選擇的主題進行調整的能力是一個很棒的輔助功能。而且,為了用戶的利益,它進一步模糊了桌面和網絡之間的界限。最新的瀏覽器版本 支持 prefers-color-scheme,所以你今天就可以開始實驗了。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2017-05-16 09:55:28

Android調試debug

2022-07-06 20:01:59

配色方案CSS

2010-09-01 13:55:14

CSS

2023-02-13 15:09:01

開發webCSS技巧

2011-03-24 09:34:41

SPRING

2020-10-15 15:09:27

Seaborn圖表數據集

2023-03-06 10:42:34

CSS前端

2023-12-19 13:31:00

CSS前端技巧

2023-05-24 16:39:30

CSS技巧開發

2024-02-26 08:20:00

CSS開發

2009-07-14 16:02:42

JDBC例子

2020-11-09 06:38:00

ninja構建方式構建系統

2018-11-22 14:09:45

iOS架構組件開發

2009-08-19 04:14:00

線性鏈表

2023-02-07 10:40:30

gRPC系統Mac

2018-04-27 16:00:15

Windows上帝模式

2024-07-24 11:40:33

2009-07-25 17:24:45

2010-08-27 10:12:53

CSS

2021-05-24 10:38:54

數據數據策略業務
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美h| 日本成人在线免费视频 | 日本在线观看视频 | 久久草在线视频 | 天堂素人约啪 | 日韩久久精品视频 | 成在线人视频免费视频 | 国产精品综合久久 | 欧美二级| 在线免费av观看 | 黄色一级大片在线免费看产 | a毛片视频网站 | 亚洲精品一区二区三区四区高清 | 91视频在线| 中文字幕免费视频 | 欧美一级一 | 欧美日韩一区在线 | 欧美精品久久 | av中文在线观看 | 亚洲欧美中文日韩在线v日本 | 欧美精品99 | 欧美电影网 | 午夜影院网站 | 成人午夜网 | 一区二区三区免费看 | 日韩午夜影院 | 一区二区视屏 | 国产999精品久久久影片官网 | 久久大香 | 九九热免费在线观看 | 日韩欧美中文 | 香蕉国产在线视频 | 天天干天天爽 | 黄色免费网站在线看 | 韩日一区二区三区 | 亚洲一二三区免费 | 亚洲精品久久久一区二区三区 | 亚洲精品视频免费观看 | 国产在线精品一区二区 | 中文字幕一区二区三区乱码在线 | 久热精品在线 |