CSS означает Каскадные Таблицы стилей. Это означает, что правила применяются к элементам каскадным способом. Совершенно нормально, что разные селекторы применяются к элементу. Думает, например, следующее:
<div class="wrapper">
<div id="foo" class="bar" style="some rules">Test</div>
</div>
Следующие правила будут влиять на элемент "foo":
.wrapper {
//some other rules
}
#foo {
// some more rules
}
.bar {
// some more rules
}
Правила для приоритетов можно найти здесь .
Я всегда советую использовать плагин Firefox "firebug" . Он точно покажет, какие свойства оцениваются для конкретного элемента и почему, подчеркнув переопределения во время каскада.