Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Разница между class и id


Автор: Jull 15.4.2006, 13:26
Объсните, плиз, разницу между class и id в css.
Нигде толкового объяснения не нашла, пришлось самой догадываться и предполагать...

как я понимаю, id используется в том случае, когда какому-то объекту нужно присвоить свойства только для него... а class - это когда для многих.

но вроде бы часто встречается, что верстка только на id построена, без class...

может я и ошибаюсь?

в общем, объясните блондинке, плиз, что правильнее использовать - class, id или все вместе и в каких случаях... smile

Автор: EDuard 15.4.2006, 14:11
Jull,
id - уникальное свойство.
class можно использовать для нескольких элементов(в том числе и несколько классов для одного элемента), если валидатор встретит два одинаковых id на странице - будет ругаться, кроме того id можно использовать как якорь на странице и обращатся из скрипта как
Код

document.getElementById().
.

Автор: Jull 15.4.2006, 21:37
EDuard, спасибо smile Жалко, что я плюсики не могу ставить...

а с точки зрения... наверное этики верстки... smile id нужно использовать? правильно ли то, что я всегда использую классы, даже если гарантированно этот класс только для одного объекта предназначен?


Кстати... а как использовать несколько классов для одного элемента? smile

так правильно? <div class="class1 class2">
вроде так наследуются классы?

а если мне нужно пять классов для одного дива?

Автор: EDuard 15.4.2006, 22:46
Цитата(Jull @ 15.4.2006, 21:37 Найти цитируемый пост)
а с точки зрения... наверное этики верстки...  id нужно использовать?

Предпочтительнее по-моему использовать, например id вместо <a name="..."></a>

Цитата(Jull @ 15.4.2006, 21:37 Найти цитируемый пост)
правильно ли то, что я всегда использую классы, даже если гарантированно этот класс только для одного объекта предназначен?

Думаю ничего страшного.

Цитата(Jull @ 15.4.2006, 21:37 Найти цитируемый пост)
так правильно? <div class="class1 class2">

Именно так.

Да и еще забыл. если для одного тега заданы и id, и class, то id сильнее.

Автор: R.M. 17.4.2006, 10:33
Да лучше для стилей использовать class а id для js и тегов <a> 

Автор: Janus 17.4.2006, 11:14
Насколько я знаю, можно сделать что-то вроде этого:
Код

<div class="div1">bla bla bla</div>
<div class="div1" id="other_div">blu blu blu</div>

У них один класс, т.е. отображение будет одинаковым. Но что если у второго отображение должно быть как у первого, но нужно отличие в одной лишь детали? А класс имеет очень большое описание.  Что, создать другой класс и исправить в нем одно свойство?  А не обязательно! Делаем так:
Код

.div1 {
  //описание
}
.div1#other_div {
  //описание только того свойства, которое отличается!
}
 

Автор: $tatic 17.4.2006, 12:23
Цитата(Jull @  15.4.2006,  14:26 Найти цитируемый пост)
Нигде толкового объяснения не нашла

 smile Рекомендации W3C по CSS Layer 2
 

Автор: AztEK 18.4.2006, 13:56
Я стараюсь использовать id ТОЛЬКО для JavaScript а class - пару штук на файл.
Весь дизайн стараюсь верстать в виде

Код

table.classname {
/*  */
}

table.classname div {
/*  */
}

table.classname div li {
/*  */
}

table.classname div li a{
/*  */
}


Думаю, ясно. Так сразу видна структура документа. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)