kirashoo42
@kirashoo42

Как перезаписать переменную по нажатию кнопки в sass?

Есть переменная $dark-mode, в ней записано булевское значение - "false", то значит это светлая тема.
Как по нажатию кнопки, перезаписать эту переменную на "true"
Делаю все на nodejs.

Здесь нет этого решения, ничего кроме scss

//SCSS
$dark-mode: false;

@mixin theme {
  // Цвета для светлой темы
  $primary-color: #f9f9f9;
  $text-color: #424242;

  @if $dark-mode == true {
    // Если условие сработает, то мы просто перезапишем значения переменных.
    $primary-color: #161625;
    $text-color: #e1e1ff;
  }

  body {
      background: $primary-color;
      color: $text-color;
  }
}
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 2
inkShio
@inkShio
:root {
  --primary-color: #f9f9f9;
  --text-color: #424242;
}

:root.dark-mode {
  --primary-color: #161625;
  --text-color: #e1e1ff;
}

body {
  background: var(--primary-color);
  color: var(--text-color);
}

Ну и на js напишешь, что бы при нажатии на кнопку добавлялся класс dark-mode к html.
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега CSS
frontend developer
Вы не понимаете сути препроцессоров.
В браузере нет никаких sass переменных. А значит и изменить вы их не можете.

Как правильно сделать переключение темы?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы