Связь между Javascript и SASS

Я работаю над концепцией связи между SASS и Javascript. Особенность в том, что мои переменные SASS меняют целые макеты. Конечно, Javascript должен это заметить.

Javascript не умеет читать переменные SASS, пока понятно.

Однако я могу генерировать переменные CSS, включая и выключая переменные SASS.

Переменные CSS теперь можно читать с помощью Javascript. И наоборот, я знаю, включена или выключена переменная SASS.

IE11 не может разумно читать переменные CSS, насколько это понятно. Поллифилл например IE11 — существует ли полифил/скрипт для переменных CSS? решает эту проблему. Если бы не большие накладные расходы. Я вообще не хочу их использовать.

Моя идея состоит в том, чтобы добавить несуществующие свойства CSS в тег HTML. Нравится html { stackoverflow: true }. Теперь я могу прочитать это с помощью Javascript.

Конечно, у меня есть распознавание браузера, поэтому я могу установить инструкции CSS только для IE. НАПРИМЕР. html.browser-msie { stackoverflow: true }. Так что мой CSS не мусор для других браузеров.

Что ты говоришь? Какие непредвиденные последствия могут возникнуть, если я напишу несуществующие CSS-команды?

Что именно ты пытаешься сделать? Когда вы открываете свой сайт в браузере, SASS больше не остается, только CSS. Так что я не уверен, как введение пользовательского свойства CSS должно помочь вам вообще.

str 28.02.2019 17:49

Вы можете передавать переменные sass в JS, если используете упаковщик (например, Webpack). Нет никаких последствий для установки несуществующих свойств в CSS, они просто ничего не сделают.

jpenna 28.02.2019 17:53

@str Пример: переменная SASS "$nav-fixed: true" вызывает создание переменной CSS "--nav-fixed: true". Теперь в Javascript я спрашиваю, установлено ли для переменной --nav-fixed значение true или она существует. Соответственно, я меняю свойства Javascript баннера cookie

dotling 28.02.2019 17:53
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
3
187
1

Ответы 1

Если вы (по какой-то причине, которую я здесь не вижу) напишете несуществующее правило CSS, оно станет недействительным и будет проигнорировано браузером, как сказал jpenna.

.mySelector {
    flavour: coffee; // Ignored by the browser
    color: black; // Parsed normally
}

Цитирование Справочник по CSS в MDN:

(...) Be aware that any CSS syntax error in a rule definition invalidates the entire rule. Invalid rules are ignored by the browser. (...)

Поскольку недопустимое правило игнорируется, оно никогда не будет применено к селектору. Таким образом, использование JavaScript для поиска элемента, к которому не применяется игнорируемое, несуществующее правило, может оказаться невозможным, если вы не планируете читать всю таблицу стилей.

Другие вопросы по теме