1) Определяете отношение высоты к ширине, которую хотите соблюдать
2) Внутрь существующего блока вкладываете еще один блок и задаёте ему свойство "padding-bottom: 50%", где "50%" - соотношение высоты к ширине (в данном случае, высота составляет 50% от ширины). И делаете его относительно позиционированным
3) Внутрь него вкладываете абсолютно позиционированный блок, растягивая на всю ширину/высоту.
Оно?