Achtergronden

Dark mode-ontwerp: achtergronden, kleur en contrast

Dark mode is geen omgekeerde lichte modus. Oppervlakken, tekst, accenten en kleurverlopen hebben elk hun eigen waarden nodig, en de regels verschillen van wat je kent.

GradientlyGeverifieerd Gradiently-account··5 min lezen
Cover: Cerise Boathouse · GR·R61E·DS

De korte versie

  • Goed dark mode-ontwerp gebruikt donkergrijs in plaats van puur zwart voor hoofdvlakken, wat het contrast verzacht en ruimte laat om diepte te tonen.
  • In donkere interfaces toon je hoogte met lichtheid: vlakken die dichter bij de kijker liggen zijn iets lichter, omdat schaduwen op donkere achtergronden nauwelijks te zien zijn.
  • Tekst op donkere achtergronden leest prettiger in gebroken wit dan in puur wit, waarbij secundaire tekst nog steeds boven 4,5:1 contrast blijft.
  • Verzadigde accentkleuren die op wit werken, ogen op donker vaak te zwaar, dus donkere thema’s gebruiken lichtere, zachtere tinten van dezelfde kleuren.
  • Kleurverlopen gloeien op donkere ondergronden maar vertonen daar snel banding, dus donkere kleurverlopen hebben baat bij een vage laag korrel.
Op deze pagina

Dark mode-ontwerp betekent een aparte set waarden bouwen voor vlakken, tekst, accenten en beeld, en niet de kleuren van de lichte modus omkeren. Donkere ondergronden veranderen hoe kleur zich gedraagt: verzadigde tinten lijken zwaarder, schaduwen verdwijnen, helderwitte tekst verblindt en zachte kleurverlopen krijgen banding. Het goede nieuws is dat dezelfde eigenschappen donkere thema’s mooi maken als je er goed mee omgaat: kleur gloeit, diepte voelt gelaagd en de inhoud staat rustig op de voorgrond.

Waarom je puur zwarte achtergronden mijdt

Puur zwart, #000000, met puur witte tekst geeft het hoogst mogelijke contrast van 21:1. Dat klinkt ideaal, maar is vaak onprettig: veel lezers zien heldere tekst uitstralen of trillen tegen puur zwart, vooral in lange passages. Zwart laat ook nergens een donkerdere plek over, zodat je niet kunt tonen dat het ene vlak onder het andere ligt. En op sommige OLED-telefoons kan inhoud die over echt zwart scrolt even nasmeren als pixels aanschakelen. De richtlijnen van Google Material Design gebruiken om deze redenen #121212 als donker basisvlak.

Een neutrale donkere schaal. Elk vlak is iets lichter dan het vlak eronder. Tekst haalt 15:1 en secundaire tekst 7,1:1 op de kleur Vlak.

Hoogte tonen met lichtheid

In de lichte modus scheiden schaduwen een kaart van de pagina. Op een donkere achtergrond zie je een donkere schaduw nauwelijks. Donkere thema’s draaien de logica dus om: hoe dichter een vlak bij de kijker ligt, hoe lichter het is. De pagina is het donkerst, kaarten zijn een stap lichter, menu’s en dialogen weer lichter. Houd de stappen klein en consistent en voeg een haarlijn in een iets lichtere tint toe waar twee gelijkende vlakken elkaar raken.

LaagKleurExtra scheiding
Paginaachtergrond#0e0f12Geen
Hoofdvlak#121417Geen
Kaarten#22262cRand van 1px rgb(255 255 255 / 0.06)
Menu’s en popovers#2b3038Rand, plus een zachte donkere schaduw
Dialogen#2b3038Een gedimd scherm over alles eronder
Hoogte via lichtheid. De waarden zijn een startpunt; houd je eigen stappen gelijkmatig.

Tekstkleur en contrast in dark mode

Gebruik een gebroken wit zoals #e6e8ec voor lopende tekst in plaats van puur wit. Het geeft nog steeds heel hoog contrast, 15:1 op #121417, en verblindt minder. Secundaire tekst mag terugvallen op een middengrijs, maar controleer het: #9aa1ad blijft op 7,1:1 op hetzelfde vlak en 5,5:1 op een lichtere kaart. WCAG vraagt minstens 4,5:1 voor normale tekst, welk thema je ook gebruikt; kleurcontrast legt uit hoe je dat controleert.

Accentkleuren minder verzadigd maken

Een sterk violet zoals #7c3aed werkt als knop op wit. Op een donker vlak oogt het zwaar en haalt het maar 3,2:1, te weinig voor tekstlinks. De lichtere tint #a78bfa haalt 6,8:1 op dezelfde achtergrond en leest als dezelfde merkkleur. De algemene regel: verschuif accenten voor donkere thema’s naar lichter en iets minder verzadigd, en houd de tint gelijk.

Accent uit de lichte modus op donker

  • Violet #7c3aed: 3,2:1 op #121417
  • Blauw #2563eb: 3,6:1 op #121417
  • Zware, trillende randen op grote vlakken
  • Faalt als linktekst

Donkere tint van dezelfde kleur

  • Violet #a78bfa: 6,8:1 op #121417
  • Blauw #93c5fd: 10,2:1 op #121417
  • Zacht, stralend, duidelijk in de huisstijl
  • Haalt het als linktekst

Kleurverlopen in dark mode-ontwerp

Donkere ondergronden zijn waar kleurverlopen schitteren. Een diepe achtergrond laat kleur als licht ogen in plaats van als verf, en daarom zie je gloeden, aurora’s en neonovergangen zo vaak op bijna-zwart. Houd het grootste deel van het vlak donker en laat kleur op een of twee plekken verschijnen: een gloed achter een hero, een kleurverloop langs de rand van een uitgelichte kaart, een zachte waas bovenaan een pagina.

Kleurverlopen voor dark mode die gloeien en toch eindigen op de vlakkleur, zodat ze in de interface zitten in plaats van erbovenop.

De adder onder het gras is banding. Donkere, langzame overgangen gebruiken op een 8-bitscherm maar een paar verschillende tinten, dus stappen worden zichtbaar. Een vage korrellaag verbergt ze; zie gradient banding en, voor het web, CSS-ruistextuur. Voor achtergronden die helemaal in het donker zijn opgebouwd, heeft donkere kleurverloopachtergronden paletten.

Dark mode bouwen in CSS

Definieer kleuren één keer als custom properties en wissel hun waarden per thema. color-scheme zegt de browser dat hij zijn eigen bediening en schuifbalken in het bijpassende thema moet tonen, en de functie light-dark() kiest tussen twee waarden op basis van het actieve schema.

css
:root {
  color-scheme: light dark;
  --surface: light-dark(#ffffff, #121417);
  --card: light-dark(#f6f7f9, #22262c);
  --text: light-dark(#16181d, #e6e8ec);
  --text-muted: light-dark(#5b6270, #9aa1ad);
  --accent: light-dark(#7c3aed, #a78bfa);
}

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

@media (prefers-color-scheme: dark) {
  img:not([src$=".svg"]) {
    filter: brightness(0.9);
  }
}
Eén set tokens, twee thema’s. Foto’s in dark mode iets dimmen voorkomt dat ze verblinden tegen de donkerdere pagina.

Geef mensen ook een handmatige schakelaar naast het volgen van de systeeminstelling, en denk aan alles buiten de interface: grafieken, illustraties, logo’s en e-mail moeten in beide thema’s worden gecontroleerd. Kleurverlopen in e-mail behandelt hoe mailapps met dark mode omgaan.

Een checklist voor dark mode

  • Donkergrijze vlakken, geen puur zwart, met een duidelijke lichtheidsstap per hoogte.
  • Gebroken witte lopende tekst met hoog contrast; secundaire tekst nog steeds boven 4,5:1.
  • Accenten lichter en zachter gemaakt, met behoud van de merktint.
  • Randen, geen schaduwen, om gelijkende vlakken te scheiden.
  • Kleur als licht gebruikt op een paar plekken, niet overal.
  • Korrel op grote donkere kleurverlopen om banding te voorkomen.
  • Logo’s met een lichte versie voor donkere ondergronden; zie logo op een kleurverloopachtergrond.
  • Beide thema’s bekeken op een echte telefoon, in een schemerige kamer en bij daglicht.

Vragen die mensen stellen

Moet dark mode puur zwart gebruiken?

Meestal niet voor hoofdvlakken. Donkergrijs, zoals #121212 of vergelijkbaar, verlaagt de verblinding, laat ruimte voor lichtere verhoogde vlakken en voorkomt nasmeren op sommige OLED-schermen.

Welke tekstkleur is het best voor dark mode?

Een gebroken wit zoals #e6e8ec in plaats van puur wit. Het geeft nog steeds heel hoog contrast en verblindt minder.

Hoe toon je diepte in dark mode?

Maak vlakken lichter naarmate ze dichter bij de kijker liggen en gebruik subtiele randen tussen gelijkende vlakken, want schaduwen zijn op donkere achtergronden nauwelijks te zien.

Waarom zien mijn merkkleuren er verkeerd uit in dark mode?

Verzadigde kleuren die voor witte achtergronden zijn gekozen, ogen zwaar op donker en kunnen het contrast niet halen. Gebruik lichtere, zachtere tinten van dezelfde kleuren.

Werken kleurverlopen in dark mode?

Heel goed: kleur gloeit op donkere ondergronden. Gebruik ze op een paar plekken, laat ze eindigen op de vlakkleur en voeg vage korrel toe tegen banding.

Deel deze gids

Geschreven door GradientlyGeverifieerd Gradiently-account

Het team achter Gradiently, een ontwerptool rond Marks: levende kleurverlopen die alles wat je ontwerpt op jou laten lijken.

Bekijk ons profiel