Появилось желание организовать ночную тему для сайта, как выучить, так и добавить нужную фичу (если думать о посетителях сайта). Можно конечно добавить класс на body со стилями invert(100%), но тогда придется подгонять цвета под светлую тему и ночную, чтобы красиво всё смотрелось. Я в теории планирую выписать стили в отдельный theme-for-night.css и вставлять в head после основного css по клику на checkbox и убирать по второму клику. Вопрос: насколько это адекватный ход мыслей? Подскажите свои идеи по реализации данной фичи. Если какие-то прочтенные Вами статьи, форумы, и тд на эту тему?
---
Надеюсь, это кому-то пригодиться...
Этот код добавляет link после моего главного файла со стилями (3 позиция):
<script>
function darkTheme()
{
var checkbox = document.getElementById('changeTheme'),
newLink = document.createElement('link'),
head = document.getElementById('head');
if(checkbox.checked){
newLink.rel = "stylesheet";
newLink.href = "theme-for-night.css";
newLink.id = "link";
head.insertBefore(newLink, head.children[3]); // 3 - позиция строки в родителе (head в моем случае)
}else{
link.remove(newLink); // убрал "child"
}
}
</script>
<div>
<input type="checkbox" id="changeTheme" onclick="darkTheme()">
</div>