Główne logo strony
CSS

Funkcja light-dark() w CSS


Dzięki funkcji light-dark() w CSS można ustawić dwa kolory dla jednej właściwości, które zmieniają się w zależności od preferencji kolorystycznych użytkownika (tryb jasny lub ciemny). Funkcja ta pozwala na określenie kolorów bez konieczności używania zapytań @media prefers-color-scheme.

Aby korzystać z funkcji light-dark(), należy ustawić color-scheme na light dark, zazwyczaj na pseudo-klasie :root.

:root {
  color-scheme: light dark;
}

body {
  color: light-dark(#333b3c, #efefec);
  background-color: light-dark(#efedea, #223a2c);
}

Przykład użycia funkcji light-dark() w HTML i CSS

HTML:

<h1><code>light-dark()</code> CSS function</h1>
<section>
  <h2>Automatic</h2>
  <p>This section will react to the users system or user agent setting.</p>
</section>
<section class="light">
  <h2>Light</h2>
  <p>This section will be light due to the <code>color-scheme: light;</code>.</p>
</section>
<section class="dark">
  <h2>Dark</h2>
  <p>This section will be dark due to the <code>color-scheme: dark;</code>.</p>
</section>

CSS:

:root {
  /* musi być ustawione aby przełączać między trybem jasnym i ciemnym */
  color-scheme: light dark;

  --light-bg: ghostwhite;
  --light-color: darkslategray;
  --light-code: tomato;

  --dark-bg: darkslategray;
  --dark-color: ghostwhite;
  --dark-code: gold;
}

* {
  background-color: light-dark(var(--light-bg), var(--dark-bg));
  color: light-dark(var(--light-color), var(--dark-color));
}

code {
  color: light-dark(var(--light-code), var(--dark-code));
}

.light {
  /* wymusza jasny schemat kolorów */
  color-scheme: light;
}

.dark {
  /* wymusza ciemny schemat kolorów */
  color-scheme: dark;
}

Więcej informacji do znlezienia na stronach MDN.

Losowy shortKolejny short: CSS