It is because of the width of your images you are using for the background, it works fine if you have the inputs the same width as the images. FIDDLE
input[type=text],input[type=password]{
border:none;
background:url('http://i.stack.imgur.com/FPaoD.png') no-repeat top left;
font: 14px 'Segoe UI','Arial',sans-serif;
color: #888;
outline:none;
height: 48px;
margin: 0 auto 10px;
padding: 0 10px 0 50px;
/* set width to image width */
width: 338px;
}
I would suggest styling them with CSS if you want them to be responsive.