This is because they are inline elements. The same thing happens often with images.
All you have to do is add display:block to your inputs:
input.blockheader { margin: 0; padding: 0; text-align: center; background: #ABD9E2; font: 11px/11px 'Vollkorn', serif; border: none; width: 100%; position: relative; display: block; }
coopersita
source share