Faça um quadrado <div> quando houver uma largura que muda dinamicamente com base na porcentagem [duplicado]

Esta pergunta já tem uma resposta aqui:

Manter a proporção de uma div com CSS 21 respostas

Estou trabalhando em um aplicativo Web que irá gerar uma grade NxN com base na seleção de N. do usuário. Quero que a largura total da grade seja relativa (ou seja, 100% do espaço disponível) para que os usuários possam imprimir em vários tamanhos de papel .

Posso calcular facilmente a largura dos quadrados da grade em% (ou seja: 100% / N), mas estou tendo problemas para calcular a altura. A altura de uma página da web sempre será infinita, a menos que eu a limite artificialmente, o que, como eu disse, não quero fazer.

Como posso fazeros quadrados da minha grade sejam quadrados versus retangular quando as restrições de altura e largura da minha grade são dinâmicas e não quadradas?

questionAnswers(4)

yourAnswerToTheQuestion