Не забывайте, что class и ID не являются взаимоисключающими. Ничто не помешает вам иметь оба! Иногда это очень полезно, поскольку позволяет элементу наследовать общий стиль вместе с другими элементами того же класса, а также дает вам точный контроль над этим конкретным элементом. Еще одна удобная техника - применить несколько классов к одному и тому же объекту (да, class="someClass someOtherClass"
вполне допустимо). Например:
<style>
div.box {
float: left;
border: 1px solid blue;
padding: 1em;
}
div.wide {
width: 40em;
}
div.narrow {
width: 10em;
}
div#oddOneOut {
float: right;
}
</style>
<div class="box wide">a wide box</div>
<div class="box narrow">a narrow box</div>
<div class="box wide" id="oddOneOut">an odd box</div>
Теоретически также возможно заставить CSS применяться только к элементам, которые принадлежат нескольким классам, например div.box.narrow {something: somevalue;}
но, к сожалению, это поддерживается не во всех браузерах. Обновление 2011: Множество селекторов классов теперь имеют почти универсальную поддержку браузеров, так что пользуйтесь ими!