91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

prefers-color-scheme怎么設置檢測系統主題色

發布時間:2023-04-28 16:22:19 來源:億速云 閱讀:103 作者:iii 欄目:開發技術

這篇“prefers-color-scheme怎么設置檢測系統主題色”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“prefers-color-scheme怎么設置檢測系統主題色”文章吧。

設置主題色

在 CSS 中,提供了一種設置系統主題色的媒體特性 prefers-color-scheme,該特性通常提供兩個值 lightdark。顧名思義,這兩個值一個代表 日間模式,一個表示 夜間模式。并且他們的兼容性也是最好的。

prefers-color-scheme怎么設置檢測系統主題色

這里有一個簡單的例子,可以很方便的通過 CSS 實現系統主題色:

.day   { background: #eee; color: black; }
.night { background: #333; color: white; }
@media (prefers-color-scheme: dark) {
  .day.dark-scheme   { background:  #333; color: white; }
  .night.dark-scheme { background: black; color:  #ddd; }
}
@media (prefers-color-scheme: light) {
  .day.light-scheme   { background: white; color:  #555; }
  .night.light-scheme { background:  #eee; color: black; }
}

當系統主題為日間模式時,會應用上面的 light 主題樣式;當系統主題為夜間模式時,會應用上面的 dark 主題樣式。

實際開發中,我們會將項目用到的色值抽離出來作為全局的公共變量,方便我們對項目整體的色值管理。如:

:root {
  // Light Theme
  --PrimaryBackgroundColorLight: #f9f9f9;  
  --PageBackgroundColorLight: #efefef;
  --PrimaryColorLight: #34495e;
  --PrimaryActivedColorLight: #1890FF;
  // Dark Theme
  --PrimaryBackgroundColorDark: #293042;
  --PageBackgroundColorDark: #202634;
  --PrimaryColorDark: #c6cfd8;
  --PrimaryActivedColorDark: #1890FF;
}

我們定義好全局 CSS 變量后,在需要的地方直接引用即可:

.day.light {
  background-color: var(--PrimaryBackgroundColorLight);
}

檢測主題色

既然能通過 CSS 設置系統主題色,那 JS 肯定也有能力來檢測系統主題色。JS 提供了一個用于檢查媒體查詢的函數 matchMedia,利用該函數能方便地檢查當前系統主題色:

const themeMedia = window.matchMedia("(prefers-color-scheme: light)");
if (themeMedia.matches) {
  // 日間模式
} else {
  // 夜間模式
}

監聽主題色變化

除了獲取當前系統主題色,我們還能監聽主題色的變化。

const themeMedia = window.matchMedia("(prefers-color-scheme: light)");
themeMedia.addListener(e => {
  if (e.matches) {
    console.log("light");
  } else {
    console.log("dark");
  }
});

通過上面提到的三個知識點,在自己站點實現主題色功能是綽綽有余的。像一些更豐富的多主題切換,雖然實現的方法不同,但思路基本都是類似的。總結起來就是開篇的三句話:如何設置主題、獲取當前被應用的主題以及監聽主題的變更。

以上就是關于“prefers-color-scheme怎么設置檢測系統主題色”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

竹溪县| 达尔| 峡江县| 巫溪县| 昂仁县| 松溪县| 盐城市| 科技| 郎溪县| 二手房| 东至县| 林周县| 河间市| 玉环县| 雷山县| 金沙县| 昭苏县| 卢湾区| 肇州县| 沁水县| 西华县| 莒南县| 开封市| 江都市| 阿拉善右旗| 东明县| 鄱阳县| 广宗县| 合川市| 梧州市| 克山县| 昌平区| 盐边县| 营口市| 长葛市| 兴隆县| 章丘市| 沾益县| 专栏| 夏邑县| 武定县|