Это основа CSS, «каскад» в Каскадные Таблицы стилей.
Если вы пишете свои правила CSS в одну строку, это упрощает просмотр структуры:
.area1 .item { color:red; }
.area2 .item { color:blue; }
.area2 .item span { font-weight:bold; }
Использование нескольких классов также является хорошим промежуточным / расширенным использованием CSS, к сожалению, существует хорошо известная ошибка IE6, которая ограничивает это использование при написании кросс-браузерного кода:
<div class="area1 larger"> .... </div>
.area1 { width:200px; }
.area1.larger { width:300px; }
IE6 IGNORES первый селектор в правиле мультикласса, поэтому IE6 фактически применяет правило .area1.larger как
/*.area1*/.larger { ... }
То есть это повлияет на ВСЕ элементы .larger.
Это очень неприятная и неприятная ошибка (одна из многих) в IE6, которая вынуждает вас почти никогда не использовать эту функцию CSS, если вам нужен один чистый кросс-браузерный файл CSS.
Тогда решение заключается в использовании префиксов имен классов CSS, чтобы избежать коллизий с общими именами классов:
.area1 { ... }
.area1.area1Larger { ... }
.area2.area2Larger { ... }
Можно также использовать только один класс, но таким образом вы можете сохранить CSS в логике, которую вы намеревались, зная, что .area1Larger влияет только на .area1 и т. Д.