как сделать квадратным блок, если у него есть какая-то ширина, я знаю) псевдоэлементу padding-top: 100% и в итоге получается квадрат. но задача в том, чтобы сделать квадрат, имея только высоту блока, притом что она в %.
Чисто на css такого не сделать, нужен js.
На css можно просто создать иллюзию квадрата, например так
Тут по факту блок не квадратный, просто фоном стоит квадратная картинка.