首頁 > web前端 > css教學 > 如何使用 CSS 變數和 JavaScript 為我的網站建立可自訂的暗模式?

如何使用 CSS 變數和 JavaScript 為我的網站建立可自訂的暗模式?

Mary-Kate Olsen
發布: 2024-10-30 05:52:28
原創
469 人瀏覽過

How can I create a customizable dark mode for my website using CSS Variables and JavaScript?

使用CSS 變數和JavaScript 自訂深色模式

為您的應用或網站實現深色模式對於提供無縫的用戶體驗至關重要。本機 CSS 媒體規則為瀏覽器提供了一個選項來偵測系統設定的暗模式,但使用者可能會喜歡針對尚未支援它的特定網站或瀏覽器(例如​​ Microsoft Edge)使用不同的主題。

要解決這樣,我們可以利用 CSS 變數和 JavaScript 來管理主題設定。

使用變數和主題進行CSS 自訂

在根或預設層級定義​​CSS 變量,並指定深色主題:

<code class="css">:root {
    --font-color: #000;
    ...
    --bg-color: rgb(243,243,243);
}

[data-theme="dark"] {
    --font-color: #c1bfbd;
    ...
    --bg-color: #333;
}</code>
登入後複製

在需要動態調整樣式的地方呼叫變數。

用於主題偵測和切換的JavaScript

在標題中HTML 部分,加入JavaScript 來偵測使用者的首選主題:

<code class="javascript">function detectColorScheme() {
    var theme = "light";
    ...
}
detectColorScheme();</code>
登入後複製

使用JavaScript 在淺色和深色主題之間切換:

<code class="javascript">const toggleSwitch = document.querySelector('#theme-switch input[type="checkbox"]');

function switchTheme(e) {
    ...
}

toggleSwitch.addEventListener('change', switchTheme, false);</code>
登入後複製

用於主題切換的HTML

為使用者控制的主題切換建立HTML 複選框:

<code class="html"><label id="theme-switch" class="theme-switch" for="checkbox_theme">
    <input type="checkbox" id="checkbox_theme">
</label></code>
登入後複製

透過這種方法,您可以自動偵測使用者的主題,讓他們可以覆蓋它,並提供自訂的主題跨瀏覽器和平台的體驗。

以上是如何使用 CSS 變數和 JavaScript 為我的網站建立可自訂的暗模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板