Вообщем, решил сделать переключатель тем, со светлой на темную и наоборот.
Написал код, который по нажатию на кнопку в header добавляет новую таблицу dark.css. Код выглядит следующий образом: если включена темная тема -> main.css, dark.css, а если светлая то -> main.css. Результат записал в сессию, все работает как надо, но вот в чем проблема: dark.css делает body темного цвета, соответственно main.css светлого, и при обновлении страницы, очевидно, подгружается первым делом main.css, а после dark.css и на пол секунды видно, что body белого цвета. Вопрос: как решить данную проблему, чтобы при обновлении страницы не подгружались вначале в стиле main.css?
P.S. убирать main.css полностью не вариант, т.к. в нем куча стилей, а в дарк только парочка строк, localstorage тоже не помог.
и при обновлении страницы, очевидно, подгружается первым делом main.css, а после dark.css и на пол секунды видно, что body белого цвета.
Если бы я делал, то решил бы всё немного тупым, но более простым способом: установил бы заставку-прелодер на 0.5с (контент которой не будет зависеть от темы), чтобы не было ничего заметно пока подгрузятся и отобразятся все стили.
Slava, извиняюсь конечно, но я не имел ввиду все сайты. А тупым я назвал только потому, что если бы на месте автора был я - я бы попросту не нашел более оптимального (профессионального) решения данной конкретной проблемы. Другие же сайты прелодер используют для других целей (или по другому, не для того чтобы просто скрыть то, что не могут исправить). Там люди поумнее меня сидят.
Я бы вынес в main.css только то, что является общим для обеих тем. Затем в dark.css - стили для темной темы, а в light.css - для светлой. И подключал бы один из них.