Je souhaite utiliser une image de bouton d'envoi au lieu du bouton standard. J'ai cherché sur Google et SO et j'ai obtenu plusieurs méthodes différentes.
Quelle est la bonne façon d'utiliser une image comme bouton d'envoi?
Je voudrais également ajouter trois états pour le bouton - normal, survoler, onclick
Ce que j'ai essayé
HTML
<input type="submit" value="Subscribe">
CSS
input[type=submit] {
background:url(../images/btn-subscribe.gif) none;
text-indent:-9999px;
width:109px;
height:41px;
}
Ce qui apparaît
Ce qu'il doit afficher
Modifié:
Je pense que vous essayez de faire comme dans cette --- [~ # ~] démo [~ # ~]
Il existe trois états d'un bouton: normal, survolé et actif
Vous devez utiliser Sprites d'images CSS pour les états des boutons.
Voir Le mystère des sprites CSS
/*CSS*/
.imgClass {
background-image: url(http://inspectelement.com/wp-content/themes/inspectelementv2/style/images/button.png);
background-position: 0px 0px;
background-repeat: no-repeat;
width: 186px;
height: 53px;
border: 0px;
background-color: none;
cursor: pointer;
outline: 0;
}
.imgClass:hover{
background-position: 0px -52px;
}
.imgClass:active{
background-position: 0px -104px;
}
<!-- HTML -->
<input type="submit" value="" class="imgClass" />
<input type="image" src="path to image" name="submit" />
MISE À JOUR:
Pour les états de bouton, vous pouvez utiliser type = "submit" puis y ajouter une classe
<input type="submit" name="submit" class="states" />
Ensuite, en CSS, utilisez des images d'arrière-plan pour:
.states{
background-image:url(path to url);
height:...;
width:...;
}
.states:hover{
background-position:...;
}
.states:active{
background-position:...;
}
<INPUT TYPE="image" SRC="images/submit.gif" HEIGHT="30" WIDTH="173" BORDER="0" ALT="Submit Form">
Lorsque le bouton d'envoi standard a TYPE="submit"
, nous avons maintenant TYPE="image"
. Le type d'image est par défaut un bouton de soumission de formulaire. Plus simple
Pour des raisons d'accessibilité, il est très important de toujours spécifier la valeur de la soumission même si vous cachez ce texte ou si vous utilisez <input type="image" .../>
pour toujours spécifier alt=""
attribut pour ce champ de saisie.
Les aveugles ne savent pas ce que fera un bouton s'il ne contient pas de signification alt=""
ou value=""
.
Vous devez supprimer les bordures et ajouter une image d'arrière-plan sur l'entrée.
.imgClass {
background-image: url(path to image) no-repeat;
width: 186px;
height: 53px;
border: none;
}
Ça devrait être bien maintenant, normalement.