Eesti

Rakendage oma veebisaidil tumedarežiim selle põhjaliku juhendi abil. Õppige tundma CSS-i meediapäringuid, JavaScripti lüliteid, ligipääsetavuse kaalutlusi ja parimaid tavasid sujuva kasutajakogemuse tagamiseks.

Tumedarežiimi Rakendamine: Põhjalik Juhend CSS-i ja JavaScriptiga

Tumedarežiim on muutunud üha populaarsemaks, pakkudes mugavamat vaatamiskogemust, eriti hämaras valguses. See juhend annab põhjaliku ülevaate, kuidas rakendada oma veebisaidil tumedarežiimi CSS-i ja JavaScripti abil, tagades sujuva ja ligipääsetava kasutajakogemuse globaalsele publikule.

Miks Rakendada Tumedarežiimi?

Tumedarežiimi rakendamiseks on mitu kaalukat põhjust:

Tumedarežiimi Rakendamise Meetodid

Tumedarežiimi rakendamiseks on mitu lähenemist, millest igaühel on omad eelised ja puudused. Uurime kõige levinumaid meetodeid:

1. Tumedarežiimi Rakendamine CSS-i Meediapäringutega

CSS-i meediapäring prefers-color-scheme võimaldab teil tuvastada kasutaja eelistatud värviskeemi ja rakendada vastavalt erinevaid stiile. See on kõige otsekohesem ja tõhusam viis tumedarežiimi rakendamiseks kasutajatele, kes on juba oma süsteemi eelistused seadistanud.

Koodinäide

Lisage oma stiililehele järgmine CSS:

/* Vaikimisi (Hele) Teema */
body {
  background-color: #fff;
  color: #000;
}

/* Tume Teema */
@media (prefers-color-scheme: dark) {
  body {
    background-color: #222;
    color: #fff;
  }
  /* Kohandage teisi elemente vastavalt vajadusele */
  h1, h2, h3 {
    color: #ddd;
  }
  a {
    color: #8ab4f8;
  }
}

Selgitus:

Eelised

Puudused

2. Tumedarežiimi Rakendamine JavaScripti Lülitiga

JavaScripti lüliti kasutamine annab kasutajatele manuaalse lüliti veebisaidi teema kontrollimiseks. See annab kasutajatele rohkem kontrolli ja võimaldab neil oma süsteemi eelistused üle kirjutada. See lähenemine on ülioluline kasutajate jaoks erinevatel seadmetel ja platvormidel, mis ei pruugi süsteemiülest tumedarežiimi seadistust järjepidevalt toetada või kuvada.

HTML-i Struktuur

Esmalt lisage oma HTML-i lülituselement:

<label class="switch">
  <input type="checkbox" id="darkModeToggle">
  <span class="slider round"></span>
</label>

See loob lihtsa lüliti, kasutades märkeruutu ja kohandatud CSS-stiili.

CSS-i Stiil (Valikuline)

Saate lülitit stiliseerida CSS-i abil. Siin on näide:

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* Ümarad liugurid */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

JavaScripti Kood

Nüüd lisage järgmine JavaScripti kood lüliti funktsionaalsuse käsitlemiseks:

const darkModeToggle = document.getElementById('darkModeToggle');
const body = document.body;

// Funktsioon tumedarežiimi lülitamiseks
function toggleDarkMode() {
  body.classList.toggle('dark-mode');

  // Salvesta kasutaja eelistus localStorage'i
  if (body.classList.contains('dark-mode')) {
    localStorage.setItem('darkMode', 'enabled');
  } else {
    localStorage.setItem('darkMode', 'disabled');
  }
}

// Kontrolli localStorage'ist salvestatud eelistust
if (localStorage.getItem('darkMode') === 'enabled') {
  body.classList.add('dark-mode');
  darkModeToggle.checked = true;
}

// Lisa lülitile sündmuse kuulaja
darkModeToggle.addEventListener('change', toggleDarkMode);

Selgitus:

CSS-i Stiil Tumedarežiimi jaoks (kasutades klassi)

Uuendage oma CSS-i, et kasutada klassi dark-mode tumeda teema stiilide rakendamiseks:

/* Vaikimisi (Hele) Teema */
body {
  background-color: #fff;
  color: #000;
}

/* Tume Teema */
body.dark-mode {
  background-color: #222;
  color: #fff;
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3 {
  color: #ddd;
}

body.dark-mode a {
  color: #8ab4f8;
}

Eelised

Puudused

3. Meediapäringute ja JavaScripti Kombineerimine

Parim lähenemine on sageli CSS-i meediapäringute ja JavaScripti lüliti kombineerimine. See pakub mõlema maailma parimaid külgi: kasutaja eelistatud värviskeemi automaatne tuvastamine, võimaldades samal ajal kasutajatel ka süsteemi eelistust käsitsi üle kirjutada. See arvestab laiema publikuga, sealhulgas nendega, kes ei pruugi olla teadlikud oma süsteemiülestest teemaseadetest või ei saa neid muuta.

Koodinäide

Kasutage sama HTML-i ja CSS-i JavaScripti lüliti näitest. Muutke JavaScripti, et kontrollida süsteemi eelistust:

const darkModeToggle = document.getElementById('darkModeToggle');
const body = document.body;

// Funktsioon tumedarežiimi lülitamiseks
function toggleDarkMode() {
  body.classList.toggle('dark-mode');

  // Salvesta kasutaja eelistus localStorage'i
  if (body.classList.contains('dark-mode')) {
    localStorage.setItem('darkMode', 'enabled');
  } else {
    localStorage.setItem('darkMode', 'disabled');
  }
}

// Kontrolli localStorage'ist salvestatud eelistust, seejärel süsteemi eelistust
if (localStorage.getItem('darkMode') === 'enabled') {
  body.classList.add('dark-mode');
  darkModeToggle.checked = true;
} else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
  body.classList.add('dark-mode');
  darkModeToggle.checked = true;
}

// Lisa lülitile sündmuse kuulaja
darkModeToggle.addEventListener('change', toggleDarkMode);

Selgitus:

Eelised

Puudused

Ligipääsetavuse Kaalutlused

Tumedarežiimi rakendamisel on oluline arvestada ligipääsetavusega, et tagada teie veebisaidi kasutatavus kõigile kasutajatele. Pidage meeles, et lihtsalt värvide ümberpööramine ei taga automaatselt ligipääsetavust. Siin on mõned peamised kaalutlused:

Parimad Praktikad Tumedarežiimi Rakendamiseks

Siin on mõned parimad praktikad, mida järgida tumedarežiimi rakendamisel oma veebisaidil:

Näide: CSS-muutujad Teemade jaoks

CSS-muutujad muudavad heleda ja tumeda režiimi teemade vahel vahetamise lihtsaks. Määratlege muutujad :root pseudoklassis:

:root {
  --bg-color: #fff;
  --text-color: #000;
  --link-color: #007bff;
}

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

a {
  color: var(--link-color);
}

body.dark-mode {
  --bg-color: #222;
  --text-color: #fff;
  --link-color: #8ab4f8;
}

Nüüd, kui body-le lisatakse klass dark-mode, värskendatakse CSS-muutujaid ja stiilid rakenduvad automaatselt.

Kokkuvõte

Tumedarežiimi rakendamine võib oluliselt parandada teie veebisaidi kasutajakogemust, suurendada ligipääsetavust ja isegi säästa aku kestvust. Järgides selles juhendis kirjeldatud tehnikaid ja parimaid praktikaid, saate luua oma kasutajatele sujuva ja nauditava tumedarežiimi kogemuse kogu maailmas.

Pidage meeles, et esmatähtis on ligipääsetavus ja oma rakenduse põhjalik testimine, et tagada teie veebisaidi kasutatavus kõigile kasutajatele, olenemata nende eelistustest või nägemisvõimest.

Tumedarežiimi läbimõeldud rakendamisega ei järgi te mitte ainult trendi, vaid loote ka kaasavama ja kasutajasõbralikuma veebikogemuse globaalsele publikule. See pühendumus kasutajakogemusele võib teie veebisaidi üldisele jõudlusele ja atraktiivsusele oluliselt kasuks tulla.