Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Решил попробовать подключить SCSS. Переписал файлы стилей у Button и DeclarationInput. Ещё исправил ошибки у кнопок на странице статей и в модуле SheltersOnMain.
Изначально SCSS имел следующие преимущества перед CSS:
а) импорт файлов (в CSS3 уже есть);
б) использование переменных (тоже уже есть и просто в CSS3);
в) математические формулы (и это уже есть);
г) вложенные стили - то, что использовал в Button и DeclarationInput и из-за чего больше всего хотел добавить SCSS. Позволяет сокращать код и избегать дублирования. Лучше использовать только для модификаторов и псевдоклассов, так как если применять для компонентов, то потом сложнее будет найти нужный. Чтобы посмотреть какой будет итоговый селектор, надо навести мышку на конечный используемый в цепочке;
д) миксины - планирую использовать для шрифтов. Если по простому, то это как переменные, но для нескольких полей сразу. Позволяют вместо того, чтобы создавать условно по БЭМ shelter-h2-style с набором font-size, line-height и других стилей и добавлять для каждого заголовка этот стиль в разметку, можно в стилях заголовках передавать этот параметр. На практике ещё не сталкивался с ним, так что может что-то не так понял;
е) использование операторы, но по-моему единственный удачный пример, который нашёл - задать ряду элементов разные цвета, не прописывая каждый, а чтобы автоматом рассчитывались в зависимости от количества элементов в цикле for прямо в SCSS. Для других примеров, которые видел, по-моему, лучше всё-таки прямо в JS передавать разные стили.
И бонусом можно использовать двойной слеш для комментарий.
Брать и переписывать все файлы подряд не предлагаю (так как много и не везде нужны преимущества SCSS), а только писать новые сразу на нём и при редактировании тоже переписывать, если есть желание.
Что думаешь об этом всём?
Примечание: перед тем как запускать, надо установить зависимости
npm i
.