//Pictures
<picture>
<source
media="(max-width:599px) and (prefers-color-scheme: light)"
srcset="images/bg-mobile-light.jpg"
/>
<source
media="(max-width:599px) and (prefers-color-scheme: dark)"
srcset="images/bg-mobile-dark.jpg"
/>
<source
media="(min-width:600px) and (prefers-color-scheme: light)"
srcset="images/bg-desktop-light.jpg"
/>
<source
media="(min-width:600px) and (prefers-color-scheme: dark)"
srcset="images/bg-desktop-dark.jpg"
/>
<img
src="images/bg-mobile-light.jpg"
aria-hidden="true"
class="background-img"
alt=""
/>
</picture>
//CSS
@media (prefers-color-scheme: dark) {
:root {
--color-primary: #25273c;
--color-primary-text: #e4e5f1;
--color-secondary-text: #cacde8;
--color-deleted-text: #4d5067;
--color-circle: #777a92;
--color-background: #161722;
--color-background-hover: #1c1e35;
}
}
@media (prefers-color-scheme: light) {
:root {
--color-white: #ffffff;
--color-primary: #ffffff;
--color-primary-text: #494c6b;
--color-secondary-text: #9394a5;
--color-light-text: #d4d4d4;
--color-active: #3a7cfd;
--color-circle: #d6d6d6;
--color-background: #fafafa;
--color-background-hover: #ebebeb;
--color-background-modal: rgba(73, 76, 107, 0.6);
--color-error: #cd1237;
}
}
//JS
let dark = window.matchMedia('(prefers-color-scheme: dark)').matches;
//Show which prefers-color-scheme user has before the page loads
window.matchMedia('(prefers-color-scheme: dark)');
if (dark) {
//Do something
} else {
//Do something
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter