Это то, что я придумал. Вот a fiddle.
Во-первых, мне нужны три элемента обертки как для квадратной формы, так и для центрированного текста.
<div><div><div>Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat.</div></div></div>
Это стиль. Он использует два метода: один для square shapes и один для centered text.
body > div {
position:relative;
height:0;
width:50%; padding-bottom:50%;
}
body > div > div {
position:absolute; top:0;
height:100%; width:100%;
display:table;
border:1px solid #000;
margin:1em;
}
body > div > div > div{
display:table-cell;
vertical-align:middle; text-align:center;
padding:1em;
}
Квадратные элементы в чистом CSS является сложной задачей, и с ограничениями, но [был дан ответ перед тем] (http://stackoverflow.com/questions/13851940/pure-css- решение квадратных элементов/13852277 # 13852277). Другой полезной ссылкой может быть [этот ответ] (http://stackoverflow.com/questions/14161321/scaling-object-element-height-proportional-to-width-constant-with-css/14162000#14162000). – ScottS
Для ответной сетки квадратных элементов вы можете проверить этот ответ: [отзывчивые квадратные столбцы] (http://stackoverflow.com/questions/20456694/responsive-square-columns/20457076#20457076) –