2015-10-23 2 views
2

Хотя мне не нужно убеждать в том, что селектора id следует использовать экономно и что селекторы class должны использоваться в первую очередь для применения CSS, мне не удается объяснить это членам моего группового проекта. Когда мы встречались как группа, чтобы просматривать все HTML и CSS-файлы, я заметил, что они использовали селектора id почти для всех (включая элементы, которые не были уникальными). Хотя я объяснил, что селектора id следует использовать для стилизации очень уникальных элементов только в CSS, а селекторов class следует использовать для применения CSS ко всему остальному из-за их повторного использования, теперь я пытаюсь вспомнить другие причины. Итак, мой вопрос заключается в том, какие другие причины существуют для использования селекторов class по сравнению с id селекторами для неповторимых элементов?Какие еще существуют оправдания для использования идентификатора?

+1

Вы имеете в виду, что ваши одноклассники в основном используют селектор id вместо селекторов классов для применения CSS? Или что они дают каждому элементу атрибут id? –

+0

@JohnGordon жаль путаницы, я хотел сказать, что они используют селекторов id вместо селекторов классов для применения CSS. Изменит вопрос для получения дополнительных разъяснений. – rze

+1

Лично я чувствую, что причина, по которой вы дали, достаточно. Добавление большого количества селекторов id не является хорошим стилем и быстро становится громоздким. Особенно, если вы не можете вносить изменения, довольно сложно гарантировать, что вы изменили все, что хотели. – Dan

ответ

1

Как уже упоминалось, уникальность id с является достаточной причиной, чтобы не использовать их в качестве селекторов, но есть больше:

Элемент может иметь несколько class Э.С., но только один id. Вы можете захотеть, чтобы один и тот же элемент был как .news-article, так и .breaking-news. Если вы используете JavaScript, у вас может быть один класс для стилизации (.unstyled-list) и еще один для вашего скрипта (.side-menu). Таким образом, вы можете изменить свой список на .roman-numerals, не нарушая свой сценарий.

Что делает id s еще хуже для применения стилей является комбинацией их уникальности и их высших specificity. Если вы используете id s для стилизации, вы наверняка застряли в определенной гонке (особенно если вам нужно поддерживать CSS с течением времени, что, вероятно, так).

Смежные вопросы