Существует 4 правила по которым вычисляется специфичность селекторов:
- Свойство с указанием !important (при наличии нескольких - выполняется правило идущее последним)
- Указание свойства в style="" тега. Правило перекрывает все селекторы описанные в стилях.
- Присутствие ID в селекторе: #some-id
- Все атрибуты(в том числе и атрибут .class) и псевдоклассы в селекторе.
- Селекторы с именами элементов: name=['textfield'] и псевдоэлементами.
И еще дополнительно: подробная статья на w3.org