Comments 7
С современным css лучшее что можно сделать, так это перестать множить сущности и отказаться от css-фреймворков.
Важный момент: удалите все флаги
!defaultпосле копирования файла.
Надо просто импортировать свои переопределения до импорта переменных bootstrap. Это написано в документации bootstrap https://getbootstrap.com/docs/5.3/customize/sass/#importing
И да, и нет :)
Все равно придется импортировать сначала как минимум Bootstrap функции - bootstrap/scss/functions потому что они используются внутри файла с переменными. Но вариант должен быть рабочим.
---
Хотя сам Bootstrap в документации настаивает на удалении default флага. Это оттуда же:
> Copy and paste variables as needed, modify their values, and remove the !default flag.
Просто вы предлагаете странный порядок. Не надо копировать все переменные и подключать их после bootstrap переменных. Лучше вынести только нужные вам переменные и подключить их перед переменными bootstrap.
Так вы видите, что вы конкретно переопределели. Ну, и конечно в этом файле вам нужно убрать default.
Такой вариант тоже возможен и я не раз пробовал его. Но он хорош когда количество таких переопределенных переменных меньше 100, а еще лучше пара десятков. Если таких переменных больше, то лучше копировать сразу все. Вот основные моменты из моего опыта:
1) если активно использовать переменные, то постоянно надо обращаться к оригинальному файлу с ними, чтобы их копировать оттуда к себе и переопределять. Проще сразу забрать все.
2) если работаете с командой над одним проектом, то некоторые разработчики вообще забивают на них и сразу пишут нужный им css вместо того чтобы найти нужную переменную которую можно использовать. Если держать все переменные в одном месте, то выше шанс что они будут использованы.
3) ну и структура оригинального файла. Если ее сохранить и скопировать целиком к себе, то потом будет гораздо проще понять через сравнение с оригинальным файлом, то было изменено через переменные, а что в кастомных файлах.
Как использовать любой CSS-фреймворк в вашем проекте — Часть 2