Le positionnement de l'image de fond sur les éléments de formulaire avec des sprites CSS

Je suis en train d'essayer d'obtenir une loupe comme arrière-plan pour mon entrée de l'élément. L'icône de la loupe est une partie d'un sprite CSS qui ressemble à ceci:

Le positionnement de l'image de fond sur les éléments de formulaire avec des sprites CSS

De position, j'ai utilisé ces propriétés:

#search-form input[type="text"] {
    background: url('../images/icons.png') no-repeat left center;
    background-position: 0px -30px;
    border: 1px solid #a9e2ff;
    padding: 3px;
    width: 200px;
    font-size: 1em;
    padding-left: 20px;
}

Mais l'arrière-plan apparaît toujours en haut de la zone de saisie plutôt que alignés dans le milieu vertical et vers la gauche. J'ai aussi essayé de faire:

background: url('../images/icons.png') no-repeat left middle;

mais cela ne fonctionne pas non plus.

Si c'est important, même si je devine que ce n'est pas le cas, voici mon formulaire de balisage:

<form action="/search" method="get" id="search-form">
    <input type="text" placeholder="Search..." name="s">
</form>

Merci pour toute aide.

OriginalL'auteur James Dawson | 2012-01-27