The gray box is caused by a default border being added to the submit buttons. Whereas the submit text is the default value for the button.
HTML:
CSS:
input#search {
background:url(../search-icon.png);
background-repeat: no-repeat;
width:40px;
height:40px;
border: 0;
}