Классы css общие или индивидуальные?
Всем привет,
возник такой вопрос, есть большой проект, множество блоков на разных страницах
есть блоки идентичные, есть блоки разные, есть блоки пока идентичные, но в дальнейшем могут стать разными, суть вот в чем:
например сейчас есть класс например .notices, применяется к странице оповещений, но есть страница news где по сути пока будет выводиться такой же блок, и к нему либо применить класс .notices или создать отдельный класс .news и использовать его, но по сути на данный момент они будут абсолютно одинаковые (т.е. получается дублирование кода), но в дальнейшем может случиться так, что в класс .notices будут внесены изменения и если не использовать отдельные классы для notices и news, то изменения затронут и news, что не желательно.
Да многие скажут, ты сам ответил на свой вопрос и если в дальнейшем планируется вносить изменения в один класс и не хочется, при этом затронуть другой, то лучше каждому блоку назначить свой класс. Но кто его знает, что будет в дальнейшем :-) Просто хочется и удобства и сильно не раздувать сам файл css стилей (да про сжатие я знаю)
Вопрос в том, а как Вы поступаете в данной ситуации? как назначаете классы (имена классов) ?
в первую очередь интересует опыт людей, кто действительно работал или работает с большими проектами
заранее благодарю,
с уважением, Денис
Делаем универсальный класс, например, .info и настраиваем все через него.
Если в дальнейшем потребовалось изменить, например, новости - добавляем родительскому блоку класс-модификатор - .info_news и через каскад стилей настраиваем отличия.
Это принцип из БЭМ Яндекса - https://tech.yandex.ru/bem/