首頁 web前端 css教學 讓您的網站在幾分鐘內準備好深色模式

讓您的網站在幾分鐘內準備好深色模式

Dec 27, 2024 pm 02:09 PM

Make Your Website Dark Mode Ready in Minutes

超過 80% 的用戶希望在應用程式中使用深色模式,現在是在 Web 應用程式中實現它的最佳時機......

但別擔心 - 您不需要做太多事情來重寫 CSS 或經歷各種艱苦的學習過程。

我將與您分享如何在不到 15 分鐘的時間內為您的網站添加深色模式支援(是的,確實如此)。

在本教程結束時,您應該能夠擁有一個優雅的深色模式,該模式可以感知系統並給您的用戶留下深刻的印象。

了解系統級深色模式

近年來黑暗模式令人印象深刻的一點是,您不必從頭開始創建複雜的主題切換器。

現代作業系統已經滿足了使用者的需求,瀏覽器透過 CSS 使這些需求變得簡單。

這裡的魔力是透過名為「prefers-color-scheme」的媒體查詢而發生的。看起來像這樣:

@media (prefers-color-scheme: dark) {

  /* Your dark mode styles go here */

}

登入後複製
登入後複製

因此,每當使用者啟動系統上可怕的黑暗模式開關時,預設此媒體查詢就會啟動。

這可以讓您的網站風格根據使用者的偏好自動調整。

好的一點是大多數現代瀏覽器都支援這種開箱即用的功能。我們正在談論 Chrome、Firefox、Safari、Edge – 它們都在船上......

這表示您可以利用系統級首選項,而無需任何額外的 JavaScript 或複雜的邏輯。

讓我們開始有趣的部分 - 在您的程式碼中實際實現它。

快速實施方法

讓我們直接開始 - 您需要做的第一件事是在 CSS 中設定顏色變數。方法如下:

/* In your root CSS file */
:root {
  /* Light mode colors (default) */
  --background: #ffffff;
  --text: #333333;
  --surface: #f5f5f5;
  --accent: #0066cc;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Dark mode colors */
    --background: #1a1a1a;
    --text: #ffffff;
    --surface: #2d2d2d;
    --accent: #66b3ff;
  }
}
登入後複製
登入後複製

現在您將使用這些變量,而不是對顏色進行硬編碼。像這樣:

body {
  background-color: var(--background);
  color: var(--text);
}

.card {
  background-color: var(--surface);
}

.button {
  background-color: var(--accent);
}
登入後複製

確實是這樣!您的網站現在將根據您的使用者係統偏好自動在淺色和深色模式之間切換。不需要 JavaScript,沒有混亂的邏輯 – 乾淨簡單的 CSS。

快速提示:從基本顏色開始,然後根據您的品牌進行調整。一開始不要太擔心,稍後您可以隨時回來調整。

進階技巧

使用上述程式碼,您的網站應該可以完美運行,但讓我們添加一些額外的修飾,使您的深色模式實現真正專業。

這些調整隻需要幾分鐘,但卻會產生巨大的變化:

首先,加入平滑過渡,這樣模式切換就不會刺耳:

:root {
  --background: #ffffff;
  --text: #333333;
  /* Add this line */
  transition: background-color 0.3s ease, color 0.3s ease;
}
登入後複製

對於圖像,尤其是徽標,請添加此媒體查詢以優雅地處理它們:

@media (prefers-color-scheme: dark) {
  img {
    /* Slightly dim non-essential images */
    opacity: 0.8;
  }

  /* But keep logos crisp */
  .logo {
    opacity: 1;
    filter: brightness(1.2);
  }
}
登入後複製

新增主題切換按鈕

讓我們為想要覆蓋系統首選項的使用者新增一個手動主題切換器。

這是完整的實作:

首先,為您的切換按鈕新增此 HTML:

@media (prefers-color-scheme: dark) {

  /* Your dark mode styles go here */

}

登入後複製
登入後複製

這是讓這一切正常運作的 JavaScript:

/* In your root CSS file */
:root {
  /* Light mode colors (default) */
  --background: #ffffff;
  --text: #333333;
  --surface: #f5f5f5;
  --accent: #0066cc;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Dark mode colors */
    --background: #1a1a1a;
    --text: #ffffff;
    --surface: #2d2d2d;
    --accent: #66b3ff;
  }
}
登入後複製
登入後複製

此程式碼為您提供了一個可切換按鈕:

  • 預設尊重使用者的系統偏好
  • 將他們的手動偏好保存在 localStorage
  • 頁面重新載入後仍然存在
  • 根據目前主題顯示太陽/月亮圖示
  • 模式之間平滑過渡

專業提示:隨意自訂圖示 - 您可以使用 SVG,甚至創建更精緻的開關設計。只需確保當前主題顯而易見!

結論

所以,你的網站現在有了一個完全可用的、經過專業設計的深色模式功能!

您擁有系統感知的主題、流暢的動畫、正確的圖像渲染,甚至還有一個漂亮的切換按鈕。

你不需要在第一天就讓一切都很完美,記住這一點。

進行赤裸裸的實施,推動它,並在您使用網站時和人們使用網站時進行更改。

即使深色模式未完全正常工作,您的用戶也會很高興收到它。

以上是讓您的網站在幾分鐘內準備好深色模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

讓我們嘗試在這裡造成一個術語:“靜態表單提供商”。你帶上html

每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom 每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom Apr 17, 2025 am 10:55 AM

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

與部分元素的交易 與部分元素的交易 Apr 12, 2025 am 11:39 AM

同一天發表了兩篇文章:

帶有HTML對話框元素的一些動手 帶有HTML對話框元素的一些動手 Apr 16, 2025 am 11:33 AM

這是我第一次查看HTML元素。我已經意識到了一段時間,但是尚未將其旋轉。它很酷,

我們如何標記Google字體並創建Goofonts.com 我們如何標記Google字體並創建Goofonts.com Apr 12, 2025 pm 12:02 PM

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

多腳步滑塊:一般案例 多腳步滑塊:一般案例 Apr 12, 2025 am 10:52 AM

這個兩部分系列的第一部分詳細介紹了我們如何獲得兩次跑步的滑塊。現在,我們&#039;

'訂閱播客”鏈接應在哪裡? '訂閱播客”鏈接應在哪裡? Apr 16, 2025 pm 12:04 PM

有一段時間,iTunes是播客中的大狗,因此,如果您將“訂閱播客”鏈接到喜歡:

See all articles