идентификаторы полезны для элементов, которые, как вы знаете, будут уникальными для каждой страницы.
Например:
- меню (# menu)
- центральная колонка, в которую вы поместите свой основной контент (#content)
- правый столбец, куда вы помещаете внешние ссылки (# external-links)
Возможно, вам понадобятся очень конкретные правила для этих элементов (точные, не относительные ширина и положение).
Теперь каждый из этих элементов будет содержать несколько экземпляров объекта определенного типа:
меню будет содержать .menu-items
центральный будет содержать .articles
external-links будет содержать .external-link
Эти подэлементы не являются уникальными, но их свойства макета ... таким образом, используются классы.
И каждый из этих подэлементов, вероятно, имеет подклассы (например, .featured-article) или даже некоторые из них могут иметь идентификатор (# current-menu-item).
Конечно, вы всегда можете использовать классы вместо идентификаторов, но я думаю, что использование идентификаторов позволяет понять, какие элементы уникальны, а какие нет. Кроме того, я предпочитаю иметь меньше разделенных пробелами имен в моих атрибутах класса, чтобы они были достаточно читабельными.