如何自動載入網站的深色模式?
深色模式時代已經來臨
現在有一種新的趨勢 - 把東西變黑。過去,你必須決定你的網站的風格(亮或暗)或者必須儲存使用者自己定義的主題風格。
Safari 12.1(macOS 10.14.4自帶) 增加了對檢測系統顏色主題的支援. 它可以傳遞此資訊,並且可以呈現網站的特定版本。當你的系統使用深色模式的時候(System Preferences -> General -> Appearance -> Dark),Safari自動會有一個黑的的ui介面,並且會去嘗試載入。你的網站的css檔案需要一些調整,以適應深色模式。
簡單的網站
我們用index.html和main.css來建立一個簡單的網站。第一個檔案包含帶有一個標題和一個段落的標準html5模板,第二個檔案用來存放css樣式。
index.html的內容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="main.css">
<title>Dark Website Example</title>
</head>
<body>
<h1>Website Title</h1>
<p>Some random words.</p>
</body>
</html>
main.css檔案的內容:
body {
color: black;
background: white;
}
實現出來的網站效果:
儘管系統中啟用了深色模式,但網站還是純白色的(請檢視瀏覽器頂部的黑色工具欄)。
新增對深色模式的支援
要啟用網站上的深色內容,需要使用prefers-color-scheme媒體查詢。只需新增它並覆蓋適當的顏色值即可。
改進後的main.css內容如下:
body {
color: black;
background: white;
}
@media (prefers-color-scheme: dark) {
body {
color: white;
background: black;
}
}
瀏覽器會去檢查是否啟用了深色模式(配色方案)並顯示正確的顏色
廣州vi設計公司 http://www.maiqicn.com 我的007辦公資源網 https://www.wode007.com
這是未來的功能嗎?
深色風格現在很流行,我認為可能是未來(晚上更好地瀏覽,更注重內容並降低裝置的電池消耗)。你不需要記住使用者的偏好設定等自定義內容,只需使用媒體查詢就可以了!期待在其他瀏覽器中支援此功能(Firefox 67已經做到了),更好地在網站上採用,並且預設情況下啟用了深色模式的使用者將會更多。
也許僅僅是改變顏色還不夠(圖示也需要一些調整)所以你可以諮詢你當地的 UI或者UX設計師。
總結
- 在css主題中使用prefers-color-scheme媒體查詢
- 嘗試將網站設計成一種樣式,而不是開發多個可選擇的主題。對喜歡深色模式的使用者來說會更加友好