Оптимизация css: в каких случаях используется class, а в каких id?

Рейтинг: 0Ответов: 4Опубликовано: 04.03.2015

Подскажите, нужно ли вот так объединять:

.top li,article,.top,.number,.comments{margin-bottom:10px}

И в каких случаях используется class, а в каких id? А то у меня в основном только class.

P.S. Может, от себя что-то посоветуете по оптимизации?

Ответы

▲ 3Принят

По своему опыту советую как можно реже использовать id.

Во-первых, на поздних этапах разработки у вас уже будет набор стилей, которые, возможно, захочется использовать на странице не единожды. В случае с id вам придется либо переписывать стили, либо дублировать их уже для классов.

Во-вторых, по личному опыту могу сказать, что иногда не замечаю, что, например, в jquery выборке машинально записываю точку вместо хеша $('.select') / $('#select'). И потом ищу "баг".

В третьих, точки выглядят аккуратнее, нежели хеши. И если я где-то использоавал Id в качестве родителя остальных стилей, то на таблицу потом не очень приятно смотреть.

Ну и как было сказано выше, id - это идентификатор элемента, поэтому он не должен повторяться. Этой логике нужно следовать, когда используешь id, но в конечном счете выделение уникальных элементов на странице таким способом не особо важная цель.

▲ 2

При вёрстке верстай всегда всё на классах. В своё время очень много это обсуждалось. Очевидно, что потом ты передашь это дело программисту и он уже где ему нужно поставит айдишники. Иначе вспомнит тебя не добрым словом. А все эти семантические сказки про класс - это группа элементов, а id уникальный идентификатор, это всё словоблудие. Оставь это людям оторванным от реальной разработки.

▲ 1

Наоборот, лучше разделять. id — это идентификатор элемента и он должен быть уникальным на странице. Класс — это набор элементов, которые объединяются общим набором стилей.

От себя советую для начала http://htmlbook.ru

▲ 1
  • Использовать только классы
  • Научитесь использовать "препроцессор", попробуйте, скажем его: http://compass-style.org и забудете про такие конструкции, как в ОП посте
  • Использовать управляющие классы для JS, которые не зависят от стиля, элемента, места на странице.
  • Про вложенность классов - ерунда. На современных устройствах сотые доли секунды. (я имею ввиду разумно конечно)
  • Не используйте селектор *