#word-spelling { display: flex; } .element { position:relative; display: block; width: 8em; height: 8em; border: 1px solid #000; margin-right: 0.2em; flex-shrink: 0; } .element > .number { position: absolute; right: 0.5em; top: 0.5em; font-size: 1.1em; } .element > .symbol { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); font-size: 3em; } .element > .name { position: absolute; bottom: 0.3em; left: 50%; transform: translateX(-50%); font-size: 1.3em; }