Bouton de formulaire personnalisé avec l'image et le texte
Un bouton de formulaire a un 170x60 image pour les non-pressé et pressé les états. Ce que je n'arrive pas à faire est d'Y arriver à être le texte dans le bouton. Je veux vraiment éviter d'avoir à modifier l'image et écrire le texte directement. Actuellement, j'utilise:
<input type="image" src="img/button_normal.png"
width="175" height="60" onmousedown="this.src='img/button_pressed2.png'"
onmouseup="this.src='img/button_normal.png'">
J'ai pensé qu'il est impossible de faire ce travail avec du texte dessus (comme ce que j'ai essayé). Alors j'ai essayé à l'aide de <button>
mais je ne pouvais pas le faire fonctionner non plus.
J'ai été en mesure de mettre du texte sur l'image ci-dessus, mais où le texte, le bouton est unclickable, qui ne fonctionne pas.
Qu'est ce qu'une solution à ce problème?
Vous devez vous connecter pour publier un commentaire.
Alors pourquoi ne pas modifier l'image d'arrière-plan sur un bouton habituel?
Qui devrait vous donner la possibilité de mettre une image dans un bouton avec du texte superposé.
.mybutton { background-image: url('normal') } .mybutton:active { background-image: url('pressed.png') }
La
<input type="image">
est destiné à avoir une sorte d'image de la carte en tant que bouton. Lors de la soumission, il envoie unname.x
etname.y
paramètre pour le côté serveur qui indique l'emplacement exact où le client a insisté sur la texture de l'image.Manifestement, vous ne voulez pas que. Vous voulez juste avoir un bouton avec un fond image. Pour que vous utilisez normalement la CSS
background-image
propriété (ou, plus commodément, lebackground
propriété).Exemple de base:
avec le bouton normal comme suit:
Modifier: pour downvoters ou JS/jQuery nitpickers: lte IE 7 ne pas l'appui de la
:hover
ni:active
pseudoselectors sur d'autres éléments que lea
élément. La solution ci-dessus est crossbrowser compatible.Pourquoi ne pas simplement utiliser le css et un "submit" type?
Puis dans votre CSS:
Que cela ne fonctionne tout aussi bien avec le type "bouton", et a un avantage sur Javascript, des versions parce que Javascript n'est pas activé.
Pour faire ce travail correctement dans internet explorer, vous pouvez utiliser ce script de faire IE se comporter lui-même 🙂