best practices в таких случаях - не кастовать, а пользоваться полиморфизмом. Ведь декораторы нужны, чтобы что-то декорировать/абстрагировать, а не вытаскивать из них кишки конкретной реализации с помощью каста.
Вам нужно собрать свой процесс сборки на основе gulp (или любого другого сборщика). Поскольку это давно стало промышленным стандартом, вы легко найдёте готовый конфиг под себя и плагины для любой частой задачи.
Есть смысл разбить файл на мелкие файлы компонентов, а потом сборщиком собирать один минифицированный файл и его подключать на страницу. Гораздо удобнее читать/писать стили + препроцессоры one love + минификация + ...
Как вариант - использование table-cell для span, если он будет табличным элементом, высота не будет меняться.. попробуй так. а вообще, флексы, конечно лучше