Was machen wir
Ein System, mit dem Sie verschiedene Farbthemen auf der Site erstellen können.
Wozu
Viele Websites haben jetzt unterschiedliche Farbthemen, um die Verwendung unter verschiedenen Lichtbedingungen (normalerweise) zu vereinfachen.
Was brauchen wir
HTML-Kenntnisse
Kenntnisse in CSS
Kenntnisse von JS
Lasst uns beginnen
Lassen Sie uns das Markup für unsere Site erstellen. Im Moment ist alles zu feucht, aber jetzt.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> </title>
</head>
<body>
<div class="text">
Themes sait
</div>
</body>
</html>
Lassen Sie uns eine CSS-Datei mit dem folgenden Code erstellen und einfügen.
html, body {
margin: 0;
padding: 0;
}
.text {
position: fixed;
font-size: 100px;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
display: flex;
}
Als nächstes erstellen wir black.css.
:root {
--textColor: white;
--background: black;
}
Und lassen Sie uns white.css erstellen.
:root {
--textColor: black;
--background: white;
}
Und jetzt im Detail
Was ist ": root"? Und was sind diese Parameter?
":root" - , <html></html>.
- , "root". ("--"). var(--_).
.
html, body {
margin: 0;
padding: 0;
background: var(--background);
}
.text {
color: var(--textColor);
position: fixed;
font-size: 100px;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
display: flex;
}
, . CSS . , , - , , ? GET ( URL ("https://domain.com?var=1")). " ", - "". " " "white" ("https://domain.com?white=true").
JS .
function $_GET(key) {
let p = window.location.search;
p = p.match(new RegExp(key + "=([^&=]+)"));
return p ? Boolean(p[1]) : false;
}
function color() {
let head = document.getElementsByTagName("head")[0];
let link = document.createElement("link");
link.id = "css";
link.rel = "stylesheet";
link.type = "text/css";
link.media = "all";
if($_GET("white")) {
link.href = "./white.css";
} else {
link.href = "./black.css";
}
head.appendChild(link);
}
"color".
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> </title>
<link rel="stylesheet" href="style.css">
<script src="index.js"></script>
</head>
<body>
<div class="text">
Themes sait
</div>
</body>
<script>color()</script>
</html>
So schnell und einfach können Sie eine Website mit zwei Themen erstellen, aber Sie können zwei Themen weiter bearbeiten. Vielen Dank für Ihre Aufmerksamkeit.
Projekt auf gitHub .