CSS-классы вроде mar-bot-15 — допустимо или плохо?
Видела в некоторых проектах классы вида mar-bot-15 (margin-bottom: 15px), pad-top-10 (padding-top: 10px) и т.д.
Понятно, что должна быть какая-то система и единство в отступах, но когда верстаешь на основе бутстрапа, и особенно если без psd-шаблона а так сказать "наживую", по мокапу, то часто нужно подправить какой-то отступ, который вполне вероятно скоро изменится. И создавать для этого лишний класс не хочется, рука сама тянется к хелперам.
У самого бутстрапа есть хелперы вроде text-muted, text-center, pull-right и т.д.
Мне кажется если не злоупотреблять и своевременно отслеживать рост употребления таких хелперов - то из использование допустимо.
Что вы думаете?
Нет, такого в классах не должно быть. С точки зрения поддержки это равносильно запихиванию инлайновых стилей, типа <div style="margin-top: 10">. Чтобы поправить отступы, нужно лезть в разметку.
Чтобы расхотеть так писать, посмотрите доклад БЭМ — норм и презентацию Вадима Макеева.
Китана: нет, не использую. Предпочитаю всё, что связано со стилями объекта, хранить именно в CSS, а в разметке держать только смысловую часть. Т.е. никаких классов типа «bordered» и т.п. Для того, чтобы иметь какие-то общие наборы стилей для разных блоков, можно использовать миксины¹, и подмешивать их к нужному блоку в стилях, а не в разметке.
isqua: спасибо, презентацию посмотрю. пока мне казались бэм селекторы очень тяжеловесными, но спорить не буду. мне понравился trello css guide. Может как вариант для меня набросать так а потом делать рефакторинг убирая все лишнее из html...
Китана: Там не столько говорится, что «вашему проекту очень нужен БЭМ в чистом виде», сколько объясняется, как вообще рулить стилями, чтобы не было мучительно больно.