JSFiddle - React, Tailwind, and code Playground
by kangismet
HTML
<!doctype html>
<html ⚡>
<head>
<meta charset="utf-8">
<title> Hello Dark Mode</title>
<script async src="https://cdn.ampproject.org/v0.js"></script>
<link rel="canonical" href=".">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<style amp-custom>
:root {
--heading-color: red;
--text-color: black;
--background-color: white;
--image-filter: grayscale(0%);
}
#dark-mode:checked ~ label::before {
content: "☀️";
}
#dark-mode:checked ~ * {
--heading-color: turquoise;
--text-color: white;
--background-color: black;
--image-filter: grayscale(50%);
color: white;
}
label[for="dark-mode"]::before {
content: "🌒";
}
#dark-mode, label[for="dark-mode"] {
color: black;
position: absolute;
top: 1rem;
right: 0.25rem;
}
body, html {
font-family: sans-serif;
overflow: hidden;
}
body, html, .wrapper {
color: var(--text-color);
background-color: var(--background-color);
height: 100vh;
width: 100vw;
}
.wrapper {
padding: 0.25rem;
}
h1 {
color: var(--heading-color);
}
amp-img {
filter: var(--image-filter);
}
.visually-hidden {
position: absolute;
overflow: hidden;
clip: rect(0 0 0 0);
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
border: 0;
white-space: nowrap; /* 1. */
}
</style>
</head>
<body>
<input id="dark-mode" class="visually-hidden" type="checkbox">
<label for="dark-mode">Switch Theme</label>
<div class="wrapper">
<h1>Hello World!</h1>
<amp-img src="https://preview.amp.dev/static/samples/img/amp.jpg" width="1080" height="610" layout="responsive"></amp-img>
</div>
</body>
</html>