暗黑主題下,用戶能夠選擇採用深色的系統範圍外觀而不是淺色外觀。在暗黑模式下,系統對全部窗口,視圖,菜單和控件採用較暗的調色板。javascript
谷歌的 Gmail 和 Chrome 瀏覽器、聊天工具 slack、telegram、Edge 瀏覽器和 Office 移動版 App 都陸續支持 darkmode 了。Youtube 今年全面引入了網頁版、手機和平板統一設計的新界面。css
隨着系統級別的支持,其餘主流應用程序的適配也陸續展開。前端
可見系統適配狀況很是可觀。java
經過媒體查詢@media(prefers-color-scheme: dark)來適配android
body { background: #f2f2f2; color: #333; } @media (prefers-color-scheme: dark) { body { background: #222; color: #eee; } } 複製代碼
caniuse 上顯示的瀏覽器兼容狀況仍是很是可觀的。做爲前端開發者,順應潮流是必然的。web
注意:prefers-color-scheme 在 W3C 規範上處於 level5 的草案,在生產環境還須要針對不一樣瀏覽器作一些向下兼容處理。macos
if ( window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ) { // dark mode do something } 複製代碼
Window.matchMedia() - Web APIs | MDN瀏覽器
注意:若是是 native 上的 webview 容器只須要支持 darkmode 的 runtime 就能夠,就不用考慮兼容處理了。markdown
更多的媒體查詢適配!
根據Specification [drafts.csswg.org]W3C 草案中的說明,經過媒體查詢和 js matchMedia Api 不只能夠用來適配 darkmode。還能夠經過下面的 key 來適配更多的場景:
這些屬性均可以經過媒體查詢來作必定的兼容,感興趣能夠在 W3C 上深刻了解。