Apa yang kita lakukan
Sistem yang memungkinkan Anda membuat tema warna berbeda di situs.
Untuk apa
Banyak situs sekarang memiliki tema warna berbeda untuk kemudahan penggunaan dalam kondisi pencahayaan berbeda (biasanya).
Apa yang kita butuhkan
Pengetahuan tentang HTML
Pengetahuan tentang CSS
Pengetahuan tentang JS
Ayo mulai
Mari buat markup untuk situs kita. Semuanya terlalu lembab untuk saat ini, tapi untuk saat ini.
<!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>Mari buat dan sertakan file CSS dengan kode berikut.
html, body {
margin: 0;
padding: 0;
}
.text {
position: fixed;
font-size: 100px;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
display: flex;
}Selanjutnya, mari buat black.css.
:root {
--textColor: white;
--background: black;
}Dan mari buat white.css.
:root {
--textColor: black;
--background: white;
}Dan sekarang lebih detail
Apa itu ": root"? Dan apa sajakah parameter ini?
":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>Ini adalah seberapa cepat dan mudah Anda dapat membuat situs web dengan dua tema, tetapi Anda dapat melanjutkan dan melakukan lebih banyak pada dua tema. Terima kasih atas perhatiannya.
Proyek di gitHub .
