Главная » Статьи » Web-кодинг » Прочие статьи

Чем отличаются id и class

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

Одинаковый эффект у них только в самых простых случаях использования в CSS. На самом деле отличий полно.

Суть

id
уникальное собственное имя элемента на странице, то есть на странице не должно быть нескольких элементов с одним id. Например блоку с шапкой сайта можно дать id="title".
class
вольный признак, который дается обычно нескольким элементам, чтобы отличать их от других. Например, картинкам, которые просто сопровождают текст, можно дать class="decor", а картинкам, которые важны для понимания текста - class="content".

Следствия

Из этой сути прямо или косвенно вытекают остальные отличия, которые видны и в HTML, и в CSS, и в скриптах.

Якорные ссылки

Если нужно поставить ссылку на какой-то элемент в странице, то ему достаточно дать id (<h2 id="about">...</h2>) и ссылаться на него якорем (http://site/path/#about). Это, кстати, предпочтительный способ взамен старого <a name="...">.

Множественные признаки

Элементу можно задавать несколько классов через пробелы: <img class="important centered printable">. Причем их можно использовать и по отдельности:

/* все important 
элементы */
.important{color:red;}

... и в сочетании:

/* элементы с important и centered одновременно 
*/
.important .centered{border:solid black 1px;}

Обратите внимание, что между классами в CSS-правиле нет пробела.

Разный вес в CSS

У каждого правила в CSS есть "вес", по которому определяется порядок их применений. У id этот вес больше. Поэтому если у элемента задан и id, и class:

<h2 id="about" class="important">...</h2>

... то из двух правил

#about { 
color:green;}
.important {color:red;}

... выиграет первое, цвет заголовка будет зеленым. (Веса правил — это отдельная песня, о ней будет статья в свое время.)

Поиск в скрипте

Кстати из-за того, что одинаковый id назначается нескольким элементам на странице, CSS часто не может пройти валидацию. Тогда лучше всего использовать class подумаете Вы, однако, это не совсем так...

Элемент с "id" можно легко найти в скрипте с помощью функции document.getElementById(). Для классов такой функции нет.



Источник: id, class, идентификатор, класс, HTML, CSS, Полезные статьи
Категория: Прочие статьи | Добавил: likbezz (03.11.2008)
Просмотров: 4703 | Теги: CSS, Полезные статьи, идентификатор, HTML, класс, Class, id
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]