Class и Id при верстке – что же выбрать?
Многие новички учась наверное смотрят на HTML код других сайтов и часто задаются вопросами. Почему же одни сайты верстают на классах, а другие на идентификаторах. А иногда верстают используя и классы class и идентификаторы id одновременно.
Сейчас я более подробно расскажу вам как правильно использовать эти моменты и как извлечь из этого выгоду, чтобы верстать макеты сайтов наиболее правильно и валидно.
Какая же разница между ними? Вроде никакой, ведь можно верстать при помощи любого элемента class или id.
Идентификаторы ID уникальны
Однако это не совсем так. Основное отличие в том, что id в коде HTML страницы уникален, его нельзя объявлять несколько раз, а вот класс можно объявлять сколько угодно раз. Вот пример правильной конструкции. Объявлять один и тот же идентификатор два раза нельзя, иначе валидацию не пройти.
1 2 3 4 5 6 7 8 | <div id="head"> ... </div> <div id="sidebar"> <div class="block"></div> <div class="block"></div> <div class="block"></div> </div> <div id="content"> ... </div> <div id="footer"> ... </div> |
Классы CLASS не уникальны
Классы не уникальны, вы можете использовать их несколько раз по документу. Важное замечание – вы даже можете присваивать одному элементу несколько классов. Вот пример:
1 2 3 4 5 6 7 8 | <div id="head"> ... </div> <div id="sidebar"> <div class="block floatleft bgred"></div> <div class="block floatright bggreen"></div> <div class="block bgblue"></div> </div> <div id="content"> ... </div> <div id="footer"> ... </div> |
Это очень удобно, когда можно присваивать тегу DIV несколько классов. Например, такая ситуация: у вас несколько блоков в сайдбаре (меню, голосование, популярные статьи), и вы хотите чтобы у всех блоков были разноцветные картинки на заднем фоне. Тогда вы пишите так.
1 2 3 4 5 | <div id="sidebar floatleft"> <div class="block bg-red floatleft"></div> <div class="block bg-green floatleft"></div> <div class="block bg-blue floatleft"></div> </div> |
А CSS свойства при таком раскладе будут такие:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #sidebar { width:240px; } .block { height:30px; font: normal 16px/30px Verdana, Arial; text-transform: upper-case } .bg-red { background: url("bg-red.png") } .bg-blue { background: url("bg-blue.png") } .bg-green { background: url("bg-green.png") } .floatleft { float:left; } |
В этом примере я использовал несколько интересных техник. Например, floatleft в CSS файле достаточно прописать один раз и указывать этот класс в любом месте, когда нам нужно выравнивание по левому краю. Идем далее, в блоках прописываем класс block, в котором его размеры. А теперь для того чтобы присвоить картинку в задний фон разного цвета для каждого блока я создал классы bg-red, bg-blue и bg-green. Видите как все просто и удобно?
Как вы видите лучше всего прибегать к совместному использованию этих элементов. Идентификаторы присваивать крупным объектам вроде шапки, сайдбаров, области контента, подвала сайта, блоков в сайдбаре. А классы можно использовать где угодно. Вот ниже скриншот верстки одного моего макета под шаблон DLE.

Почитайте интересный блог моего единомышленника и соотечественника, который пишет на такие тематики – раскрутка сайта, поисковая оптимизация сайтов и их продвижение. Очень интересный и красивый блог.
Удачи! Заводской раб.
| This entry was posted by Арни Веб Дизайн on 8 Июнь 2010 at 11:58, and is filed under CSS. Follow any responses to this post through RSS 2.0. Вы можете перейти в конец записи и оставить комментарий. Пинги запрещены. |
1 год назад
когда будет долгожданный урок по верстке, того макета ?
зы. привет с миси
1 год назад
Вы забыли сказать про то, что ID является уникальным идентификатором и может использоваться в пределах страницы только одни раз.
ID преобладает над классом. Т.е. свойства определенные в идентификаторе будут иметь приоритет над классовыми.
1 год назад
Очень хотелось бы увидеть урок по верстке макета…
1 год назад
Если его не будет, так и скажи, а то все ждут уже столько времени…
1 год назад
Артур, чет забыл про этот твой блог. В яше нашел, смотрю твой
1 год назад
Думаю, стоило еще рассказать про JS скрипты, например поиск объекта по id или class, или замена содержимого объекта или чтение
1 год назад
to Сказочник. На самом деле, если внимательно читать, там написано огромными буквами, что id УНИКАЛЬНЫ, это значит он может использоваться всего один раз на странице
10 месяцев назад
А еще если в css в # дописать к селектору через пробел например «р» и задать ему свойства и значения.то при прописке id в хтмл к какому нить контейнеру. то изменятся только параграфы в данном контейнере.
10 месяцев назад
Что то параграфы не хотят менятся