CSS Variables
by Chuck Tornton
HTML
<script src="https://kit.fontawesome.com/dbaffbfc92.js"></script>
<header>
<button class="dayOrNight">Day Mode</button>
</header>
<main>
<div class="inputCont">
<div class="buttonSearch">
<i class="fas fa-search"></i>
<span> Найти</span>
</div>
<input class="input" type="text">
</div>
<div class="ugolok"></div>
</main>
<footer></footer>
CSS
:root {
--nightModeHColor: #181521;
--nightModeMColor: #201c2b;
--nightModeColor: #392e5c;
--nightModeFontColor: #dad8de;
--fontSize: 16px;
--headerH: 50px;
--footerH: 100px;
}
html, body {
margin: 0;
padding: 0;
height: 100%;
display: flex;
flex-direction: column;
}
header {
min-height: 50px;
background: var(--nightModeHColor);
display: flex;
align-items: center;
justify-content: center;
}
main {
min-height: calc(100% - var(--headerH) - var(--footerH));
background: var(--nightModeMColor);
display: flex;
justify-content: center;
align-items: center;
}
footer {
min-height: var(--footerH);
background: var(--nightModeHColor);
}
.inputCont {
width: 40%;
background: var(--nightModeColor);
height: 40px;
display: flex;
flex-direction: row;
}
.buttonSearch {
display: flex;
align-items: center;
justify-content: center;
color: var(--nightModeFontColor);
}
.buttonSearch span {
margin: 0 10px 0 10px;
}
.buttonSearch i {
margin: 0 0 0 10px;
font-size: var(--fontSize);
}
.input {
background: transparent;
border: none;
border-radius: 4px;
height: 40px;
outline: none;
font-size: var(--fontSize);
color: var(--nightModeFontColor);
display: flex;
flex: 1;
}
.ugolok {
border: 20px solid transparent;
border-left: 20px solid var(--nightModeColor);
}
JavaScript
let root = document.querySelector(':root');
let rootStyles = getComputedStyle(root);
let mainColor = rootStyles.getPropertyValue('--nightModeHColor');
let dayOrNight = document.querySelector('.dayOrNight');
/* alert(mainColor); */
let numOfClicks = 0;
dayOrNight.addEventListener("click", function(){
if (this.click) {
++numOfClicks;
}
if (numOfClicks % 2 ) {
root.style.setProperty('--nightModeHColor', '#fff');
root.style.setProperty('--nightModeMColor', 'darkgray');
} else {
root.style.setProperty('--nightModeHColor', '#181521');
root.style.setProperty('--nightModeMColor', '#201c2b');
}
});