In Chrome, div.character defaults to vertical-align baseline .
Try removing height:100px; from div.character to your CSS. You will see that all the boxes are sitting on the baseline of each row.
According to Huangism, changing vertical-align to top fixes the problem.
source share