А кто сказал, что этот способ плохой? Когда начальные селекторы правила достаточно ограничивает выбор элементов, нет ничего плохого в использовании селекторов типа в конце. Плохой практикой уместнее считать навешивание классов на абсолютно каждый элемент - это впустую раздувает модель стилей (самый рак это когда li одного списка присваивают один общий класс). Есть граница разумного, и она проходит ровно там где заканчивается семантика селекторов css-правила. Избыточность должна контролироваться разумом, иначе она превращается в банальный маразм (и кстати, БЭМ тому яркий пример). Но вот к слову о семантике, имена классов у тебя подобраны очень неок - они должны описывать смысловую роль элементов, а не их тип... иначе получается что с тем же успехом могли быть использованы селекторы типа, и это как раз очень-очень плохо (та же самая лишняя избыточность классов, неразумная). Когда следует избегать селекторов типа: • когда недостаточна общая семантичность css-правила (и практически всегда стоит использовать классы для элементов типа div и span) • когда есть высокая вероятность будущего изменения типа элемента (в первую очередь это хэдинги)