Выводить только стили, которые используют определенные переменные? - PullRequest
0 голосов
/ 05 марта 2019

В SCSS есть способ вывода только стилей, которые используют определенные переменные?

У меня есть все переменные цвета в одном файле, но они используются во всей таблице стилей.Теперь я хочу добавить другую цветовую тему без дублирования всех стилей, не связанных с цветом, это возможно?

1 Ответ

0 голосов
/ 06 марта 2019

Не так просто (и довольно подвержено ошибкам) ​​определить использование определенных переменных для вывода.Вы можете проверить, определены ли они с помощью @if($x), но это может быть не то, что вы ищете.

Но я не думаю, что полностью понимаю, чего вы пытаетесь достичь ...

Является ли:

  1. белой маркировкой вашего приложения / сайта (таким образом, «переопределяя» исходные значения новыми значениями)?
  2. Наличие двух отдельных «тем» в ихсобственные (уникальные переменные), но избегать конфликтов, которые могут возникнуть из-за перекрывающихся стилей?

Для:

  1. Переопределить переменные, задав следующую строку: $x = 1; $x = 2; z-index:$x; z-index будет 2.Так что-то вроде: @import 'base-theme'; @import 'client-theme' переопределит каждую существующую переменную значением из client-theme, что будет означать ноль перезаписей существующих стилей (и только один дополнительный файл с новой темой).

  2. Вам нужно будет добавить логику для этого, так что переписывание стилей будет вероятным результатом.что-то вроде @if($hotpink) { color:$hotpink } @else { color:$original-pink} должно работать для них, но оно будет громоздким и довольно сложным в обслуживании.

Моя рекомендация (для большинства случаев использования): перейдите с вариантом № 1, этосэкономит вам много работы и отладки.

Надеюсь, это поможет, не стесняйтесь спрашивать, если это кажется неясным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...