Я новичок в React и Gatsby.js.Я создаю блог с Гэтсби, и в моем блоге есть переключатель для переключения между светлым и темным режимами.Я достигаю этого, переключая класс на тег <body>
с помощью JavaScript.По сути, если это светлый режим, тэг будет <body>
, а если это тёмный режим, тэг будет <body class="darkMode">
.
Мне удалось заставить это работать нормально, используя vanilla JavaScriptустановить и удалить класс .darkMode
для тега <body>
.Однако у меня возникли некоторые проблемы при стилизации элементов на основе body.darkMode
в моих модулях CSS.
В моем файле index.module.css у меня есть следующие классы:
.section {
color: #141414;
}
body.darkMode .section {
color: #ebebeb;
}
ВВ моем компоненте index.js я импортировал модуль CSS и применил стиль следующим образом:
<section className={indexStyles.section}></section>
Хотя свойство color в классе .section
работает, я заметил, чтообъявление body.darkMode .section
не работает, когда я добавляю класс .darkMode
CSS к тегу <body>
.Почему это?Помощь приветствуется.Спасибо.