Как не переборщить с классами html с желанием потом их переиспользовать?
Добрый день!
Допустим у меня есть попап окно с похожим дизайном, но с небольшими отличиями в каждом.
Например это будет:
- форма авторизации
- форма поиска
- таблица в корзине покупок
- форма обратной связи
Всё это объединяет: скруглённые углы, шрифт, цвет фона. У форм, одинаковые инпуты и кнопки. Горизонтальные отступы между инпутами тоже одинаковые.
Но padding внутри родителя разный, некоторые отступы, немного другие, шрифт в одном из инпутов, немного другого размера. В общем есть некоторые отличия, которые говорят о неоднородности этих элементов, при их общей схожести.
Стоит ли миксовать такие блоки и громоздить кучу классов в html тег, или застилить каждый блок отдельно, копированием содержимого с некоторыми отличиями? Особенно если это не крупный проект, а средний лендинг, на 2-5 страниц?
А теперь представим, что есть попап, с 4-я разными состояниями, на 4-х разных блоках (размер и паддинги), и всё что их объединяет это закругленные углы окна, цвет фона, текст ну и position . Получается, я пропишу это состояние на бокс отдельным стилем, например popup, потом буду задать каждому внутреннюю геометрию, размер окна. Тогда от названия какого блока мне отталкиваться? Ведь этот popup будет миксом в другой структуре блока...
По логике, позиционирование окна, я должен прописать отталкиваясь от секции в которой он находится. Задать общие стили на повторяющиеся элементы, прописать модификаторы, для каждого изменённого состояния. Вот уже 3-и класса получается в html теге.
Вообще вопрос возник, ещё и из-за того, что куски такого кода, то там, то тут, тяжело отслеживать, без инспектора конечно )
Ну представьте, что у 5 тыс. строчек кода, в разных частях, разбросаны куски кода, формирующих блок, скажем 5-6 кусков. И если кто-то, захочет там что-то поменять, разработчику придётся бегать по всем пяти тысячам строчек кода, что бы изменить состояние блока. Вместо того, что бы зайти в раздел, этого блока и последовательно менять его состояние. Это немного неудобно, как мне кажется, хотя и есть нюансы )
Если css укладывается до 100кб, то мне кажется особой разницы нет. Вообще, если есть большие куски повторяемого кода, то лучше его обьединить в общие классы.