使用 CSS 設計樣式

接下來,我們將為深色和淺色模式定義樣式。我們將使用 CSS 變數來更輕鬆地切換主題。

/* styles.css */:root {    --bg-color: #ffffff;    --text-color: #000000;    --button-bg-color: #000000;    --button-text-color: #ffffff;}body {    background-color: var(--bg-color);    color: var(--text-color);    font-family: Arial, sans-serif;    transition: background-color 0.3s ease, color 0.3s ease;}.container {    text-align: center;    margin-top: 50px;}button {    background-color: var(--button-bg-color);    color: var(--button-text-color);    border: none;    padding: 10px 20px;    cursor: pointer;    transition: background-color 0.3s ease, color 0.3s ease;}button:hover {    opacity: 0.8;}body.dark-mode {    --bg-color: #333333;    --text-color: #ffffff;    --button-bg-color: #ffffff;    --button-text-color: #000000;}

新增 JavaScript 功能

現在,我們將新增 JavaScript 來處理主題切換。我們還將在 localStorage 中保存使用者的首選項,以便他們的選擇在整個會話中保持不變。

// script.jsdocument.addEventListener(\\'DOMContentLoaded\\', () => {    const switcher = document.getElementById(\\'modeSwitcher\\');    const currentMode = localStorage.getItem(\\'theme\\') || \\'light\\';    if (currentMode === \\'dark\\') {        document.body.classList.add(\\'dark-mode\\');        switcher.textContent = \\'Switch to Light Mode\\';    }    switcher.addEventListener(\\'click\\', () => {        document.body.classList.toggle(\\'dark-mode\\');        const mode = document.body.classList.contains(\\'dark-mode\\') ? \\'dark\\' : \\'light\\';        switcher.textContent = mode === \\'dark\\' ? \\'Switch to Light Mode\\' : \\'Switch to Dark Mode\\';        localStorage.setItem(\\'theme\\', mode);    });});

解釋

1。 CSS 變數: 我們使用 CSS 變數來定義兩種模式的顏色,以便在它們之間輕鬆切換。

2. JavaScript: 我們為按鈕新增一個事件偵聽器,以切換 body 元素上的暗模式類別。我們也根據目前模式更新按鈕文字並將模式保存在 localStorage 中。

3.持久主題: 當頁面載入時,我們檢查 localStorage 以了解使用者的偏好並應用適當的主題。

結論

實現暗/亮模式切換器透過提供滿足不同偏好和條件的視覺選項來增強使用者體驗。只需幾行 HTML、CSS 和 JavaScript,您就可以將這項有價值的功能新增到您的 Web 專案中。

隨意嘗試更高級的功能,例如平滑過渡或其他主題。可能性是無限的,您的用戶將欣賞增加的靈活性。

編碼愉快!

","image":"http://www.luping.net/uploads/20240730/172233036366a8acfbc7557.jpg","datePublished":"2024-07-30T17:06:02+08:00","dateModified":"2024-07-30T17:06:02+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 建立 CSS 暗/亮模式切換器

建立 CSS 暗/亮模式切換器

發佈於2024-07-30
瀏覽:261

Creating a CSS Dark/Light Mode Switcher

深色和淺色模式切換器變得越來越流行,讓使用者可以靈活地選擇自己喜歡的視覺體驗。無論是為了減輕眼睛疲勞、節省電池壽命,還是只是遵循個人喜好,實現暗/亮模式切換器都可以顯著增強用戶體驗。在本文中,我們將指導您使用 HTML、CSS 和 JavaScript 建立一個簡單而有效的暗/亮模式切換器。

為什麼要實施暗/亮模式?

1。使用者偏好: 有些使用者為了美觀或減少眼睛疲勞而偏好深色模式,尤其是在低光源環境下。

2.輔助功能: 透過提供可以幫助視障使用者的主題來提升輔助功能。

3.省電: 在 OLED 螢幕上,深色模式可以節省電池壽命。

設定 HTML 結構

首先建立一個簡單的 HTML 結構。我們需要一個按鈕來在深色和淺色模式之間切換。



    
    
    Dark/Light Mode Switcher
    


    

Dark/Light Mode Switcher

Toggle the button to switch between dark and light modes.

使用 CSS 設計樣式

接下來,我們將為深色和淺色模式定義樣式。我們將使用 CSS 變數來更輕鬆地切換主題。

/* styles.css */
:root {
    --bg-color: #ffffff;
    --text-color: #000000;
    --button-bg-color: #000000;
    --button-text-color: #ffffff;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: Arial, sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.container {
    text-align: center;
    margin-top: 50px;
}

button {
    background-color: var(--button-bg-color);
    color: var(--button-text-color);
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

button:hover {
    opacity: 0.8;
}

body.dark-mode {
    --bg-color: #333333;
    --text-color: #ffffff;
    --button-bg-color: #ffffff;
    --button-text-color: #000000;
}

新增 JavaScript 功能

現在,我們將新增 JavaScript 來處理主題切換。我們還將在 localStorage 中保存使用者的首選項,以便他們的選擇在整個會話中保持不變。

// script.js
document.addEventListener('DOMContentLoaded', () => {
    const switcher = document.getElementById('modeSwitcher');
    const currentMode = localStorage.getItem('theme') || 'light';

    if (currentMode === 'dark') {
        document.body.classList.add('dark-mode');
        switcher.textContent = 'Switch to Light Mode';
    }

    switcher.addEventListener('click', () => {
        document.body.classList.toggle('dark-mode');
        const mode = document.body.classList.contains('dark-mode') ? 'dark' : 'light';
        switcher.textContent = mode === 'dark' ? 'Switch to Light Mode' : 'Switch to Dark Mode';
        localStorage.setItem('theme', mode);
    });
});

解釋

1。 CSS 變數: 我們使用 CSS 變數來定義兩種模式的顏色,以便在它們之間輕鬆切換。

2. JavaScript: 我們為按鈕新增一個事件偵聽器,以切換 body 元素上的暗模式類別。我們也根據目前模式更新按鈕文字並將模式保存在 localStorage 中。

3.持久主題: 當頁面載入時,我們檢查 localStorage 以了解使用者的偏好並應用適當的主題。

結論

實現暗/亮模式切換器透過提供滿足不同偏好和條件的視覺選項來增強使用者體驗。只需幾行 HTML、CSS 和 JavaScript,您就可以將這項有價值的功能新增到您的 Web 專案中。

隨意嘗試更高級的功能,例如平滑過渡或其他主題。可能性是無限的,您的用戶將欣賞增加的靈活性。

編碼愉快!

版本聲明 本文轉載於:https://dev.to/mdhassanpatwary/creating-a-css-darklight-mode-switcher-26cd?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3