Jak vytvořit tmavý režim: Nastavení dark modu v CSS v 6 krocích!

Jak vytvořit tmavý režim: Nastavení dark modu v CSS v 6 krocích!

Administrátor 24. září 2025 Žádné komentáře 4 min čtení Produktivita
Jak vytvořit tmavý režim: Nastavení dark modu v CSS v 6 krocích!

Tmavý režim se v poslední době stal hodně oblíbenou funkcí, která nejen přidává na uživatelském zážitku, ale je také méně namáhavá pro oči. Přestože se na první pohled může zdát složité ho naprogramovat, splním vám, že je to velmi jednoduché a rychle vám přidá hodnotu, za kterou vás zákazníci budou jen chválit.

V tomto návodu se postarám o vše podstatné – od samotného nastavení základních tříd a proměnných, přes programování interaktivního tlačítka až po ukládání nastavení či optimalizaci pro různá zařízení. Vše bude krok za krokem popsáno srozumitelně a navíc s řadou užitečných tipů pro každou fázi implementace.

1. Nastavení třídy pro tmavý režim

dark mode css

Nejprve je třeba v CSS souboru nastavit základní styly pro tmavý režim. Vytvořte novou třídu .dark-mode a nastavte zde proměnné barvy, které budou sloužit pro text a pozadí:

cssCopy

:root {
  --text-color: #fff; 
  --bg-color: #333;
}

.dark-mode {
  color: var(--text-color);
  background-color: var(--bg-color); 
}

Nastavte bílý text a tmavě šedé pozadí. Proměnné barvy pak snadno změníte v jednom místě.

Použití proměnných pro ostatní styly

Pro ostatní stylovací prvky jako odstavce, odkazy apod. použijte také proměnné barvy:

cssCopy

p {
  color: var(--text-color);
}

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

2. Implementace tlačítka pro přepínání tmavého režimu

tmavy rezim tlacitko

Pro přepínání režimů vytvořte tlačítko s textem „Změnit režim“:

htmlCopy

<button id="theme">Změnit režim</button>  

Pomocí JavaScriptu přidejte k tomuto tlačítku událost kliknutí:

jsCopy

const button = document.getElementById('theme');

button.addEventListener('click', changeTheme);

Funkce changeTheme by pak měla pomocí .classList.toggle() přidávat a ubírat třídu .dark-mode obsahu dokumentu.

Díky tomu se při každém kliknutí vytvoří nebo odstraní tmavý režim.

3. Změna stylů podle režimu

Pro každý stylovací element je potřeba nastavit varianty pro světlý i tmavý režim. Použijeme k tomu atributy třídy:

cssCopy

p {
  color: var(--text-color); 
}

p.dark-mode {
  color: var(--text-color-dark);
}

Definujeme dvě varianty textové barvy a podle přítomnosti třídy .dark-mode zvolíme správnou.

Použití pro ostatní prvky

Totéž uděláme pro pozadí, odkazy, tlačítka apod.:

cssCopy

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

body.dark-mode {
  background-color: var(--bg-color-dark); 
}

4. Pravidla pro konkrétní prvky

Text, pozadí, odkazy:

cssCopy

p, a {
  color: var(--text);
}

p.dark-mode, 
a.dark-mode {
  color: var(--text-dark);
}

Tlačítka, nav:

cssCopy

button, nav {
  background: var(--bg);
  color: var(--text);
}

button.dark-mode,
nav.dark-mode {
  background: var(--bg-dark);
  color: var(--text-dark);
}

Vyzkoušejte iterativně upravovat styly podle potřeby.

5. Uživatelské nastavení dark modu

dark mode php

Je vhodné umožnit uživateli nastavit si preferovaný režim. Použijeme k tomu Local Storage:

jsCopy

// Uložíme si stav do LS
function saveTheme() {
  localStorage.setItem('theme', darkModeOn ? 'dark' : 'light');
}

// Načteme při načtení stránky
function applyTheme() {
  const theme = localStorage.getItem('theme');
  if(theme === 'dark') enableDarkMode();
}

Volat funkci při aktivaci a deaktivaci dark módu.

6. Přizpůsobení různým zařízením

Na různých zařízeních optimalizujte barvy:

cssCopy

@media (prefers-color-scheme: dark) {
  /* Tmavé barvy pro mobily */
}

@media (prefers-color-scheme: light) {
  /* Světlé barvy pro počítače */ 
}

Použijte i responsive design:

  • Zmenšené fontáčky, odstavce
  • Minimalizace prvků
  • Větší tlačítka

Testujte funkčnost na všech zařízeních.

A tím máme hotovo – zkompletovaný návod na dark mode v CSS!

Doporučujeme: Jak udělat černý Instagram

Závěr

Na závěr mi dovolte shrnout 3 hlavní věci, které se z tohoto návodu dozvíte:

  1. Jak jednoduše vytvořit plnohodnotný tmavý režim pomocí CSS a JavaScriptu.
  2. Jak optimalizovat nastavení pro různá zařízení jako mobily, tablety či počítače.
  3. Jak zachytit uživatelské preference a uchovat je pro další nasazení.

Doufám, že se vám tento komplexní postup setmění stránek bude hodit. Pokud budete mít ještě nějaké další dotazy, neváhejte se zeptat. Nyní vám přeji hezké pročtení a implementaci!

Administrátor

Administrátor

681 článků

Související články

ceske vyhledavace

🔍 České vyhledávače: Kompletní přehled od Seznamu po alternativy Google ovládá většinu světového trhu, ale Česká republika je jednou z mála zemí, kde má lokální

Read More »

ceske vyhledavace

🔍 České vyhledávače: Kompletní přehled od Seznamu po alternativy Google ovládá většinu světového trhu, ale Česká republika je jednou z mála zemí, kde má lokální

Read More »

ceske vyhledavace

🔍 České vyhledávače: Kompletní přehled od Seznamu po alternativy Google ovládá většinu světového trhu, ale Česká republika je jednou z mála zemí, kde má lokální

Read More »

ceske vyhledavace

🔍 České vyhledávače: Kompletní přehled od Seznamu po alternativy Google ovládá většinu světového trhu, ale Česká republika je jednou z mála zemí, kde má lokální

Read More »

ceske vyhledavace

🔍 České vyhledávače: Kompletní přehled od Seznamu po alternativy Google ovládá většinu světového trhu, ale Česká republika je jednou z mála zemí, kde má lokální

Read More »
diakritika

ceske vyhledavace

Proč je diakritika (háčky a čárky) v URL adrese chybou pro SEO? Objevte, jak funguje percent-encoding, proč odkazy působí jako spam a jak tvořit správné URL.

Read More »

Nejnovější

⭐ DoporučujemePOMODORO Časovač online zdarma | Dopaminový 25/5 timer
23. února 2026 • Administrátor • 35 min čtení

POMODORO Časovač online zdarma | Dopaminový 25/5 timer

POMODORO Časovač online zdarma | Dopaminový 25/5 timer VÝBORNĚ! Zasloužená přestávka ✨ Domů› Produktivita› Pomodoro Časovač ⚡ Zdarma · Bez registrace · Hned start Dopaminový

Číst více
Objevte, jak získat 10 100 Kč za hodinu a nastartujte svou finanční budoucnost. Ať už potřebujete peníze na podnikání nebo dovolenou.
10 100 Kč ZDARMA? Ano, je to možné!
Overlay Image