Класс не всегда будет переопределять идентификатор - учитывая два конфликтующих правила для одного и того же элемента, браузер будет рассчитывать оценку для каждого правила на основе специфики правила. Каждой части правила присуждаются баллы, а затем правило с наибольшим количеством примененных баллов.
- HTML-селекторы (div, p и т. Д.): + 1
- селекторы класса (.class) + 10
- идентификаторы селектора (#id): + 100
Итак, для вашего примера:
#content ul li a {font-size:10px} = 100 + 1 + 1 + 1 = 103
#content .demo ul li a {font-size:15px} = 100 + 10 + 1 + 1 + 1 = 113
Надеюсь, это поможет