Id і class

властивості ID:
як сказав pepelsbey і fiskus_boulder - підвищення специфічності правила
робота з навігаційними «якорями» - посилання back to top etc.
якщо ви використовуєте ДжаваСкрипт без бібліотек, то швидше зробити document.getElementById ( 'header'), ніж через кастомний getElementByClassName, який працює все одно повільніше, ніж нативний.

властивості class:
можна використовувати багато разів на сторінці
можна використовувати кілька класів для одного елемента
можна робити «модульні» правила, на зразок тих, що використовуються «універсальної версткою» Віталія Харисова в Яндексі

Підкажіть плз, на якому движку працюють блоги жж? Хочу створити собі точно такий, тільки на своєму хостингу.

як мінімум, можу сказати про пріоритет

A selector's specificity is calculated as follows:

* Count the number of ID selectors in the selector (= a)
* Count the number of class selectors, attributes selectors, and pseudo-classes in the selector (= b)
* Count the number of type selectors and pseudo-elements in the selector (= c)
* Ignore the universal selector

Все дуже просто, це ж всі об'єкти по сему клас це узагальнююча описова структура, а id це приватна, а по скільки пріоритет вибудовується в порядку убування спершу властивості класу, потім ідентифікатор, і тільки потім властивості певні на елементі. Так що для зручності і нормального логічного читання треба використовувати змішаний варіант (до питання про верстку). Якщо брати скрипти, то використання id або class визначає наявність бібліотеки по роботі з DOM елементами (типу jQuery) - але питання то був про верстку. А проблеми рендеринга - сильно впливають тільки на IE в інших браузерах це не так помітно.

Схожі статті