Стоит ли описывать в css стили типа вот так: div.class-name или h1.class-name?
У меня возникли разногласия в написании верстки с разработчиком. Я считаю, что описывать классы, привязывая их к конкретному тэгу, это в большинстве случаев как минимум не практично. Это засоряет код и вынуждает дублировать стили. У программиста другое мнение, и он все классы привязывает к тэгам, ему кажется так понятнее.
Каково ваше мнение? Есть ли какие-то веские аргументы "за" или "против" к способу "div.class-name". Если есть ссылки на авторитетных разработчиков с пояснениями что есть хорошо, а что плохо и почему, то буду благодарна.
Смысла никакого так делать нет, а у вас разногласия по кодстайлу. Ваш программист хочет облегчить себе работу, а вам усложнить (писать больше кода и не забывать прописывать теги). Шлите его или пусть тимлид решает какой кодстайл использовать.
Если тимлида/менеджера нет, то я бы посылал его. Можете мотивировать тем, что ваш вариант чище и привычнее для большинства. Можете дать ссылку на любой гайдлайн по форматированию css (у каждой большой конторы он есть), нигде там такой дичи с приписыванием тегов нет.
Вы правильно считаете. Привязывают стили к тегу, только говнокодеры. Смысла в этом нет (кроме редких исключений когда это может понадобиться).
Это и время отнимает для написания, и читаемость кода ухудшает, и переиспользованию мешает. Если мне завтра понадобиться изменить H1 на H2, придётся не только HTML менять, но и в CSS лезть.
В качестве доказательства, пусть ваш программист найдет стайлгайд, где такое требование рекомендуется к использованию. Ему надо, вот пусть и ищет доказательства, но он не найдет. Пусть страдает.
это нужно в одном случае - когда тебе нужно перебить какой то стиль. тобишь среди вариантов:
1) написать путь длинне вставив еще одного родителя
2) использовать !important
3) обращаться через id
4) использовать div.class-name
последний вариант самый профитный и безобидный. в других случая такое написание юзать не нужно. и смысла в этом нет.
В 99% случаев привязываться к тэгу не нужно. 1% остается на редкие частные случаи. Например, вот мне недавно нужно было различить td.classname и th.classname.
Это зачастую нужно делать только если есть возможность или потребность того, что какой-то класс будет присваиваться разным типам элементов.
В ином случае это только помешает дальнейшему изменению и редактированию сайта, а также прямым образом влияет на размер файла, а значит и его скорость загрузки.