J'utilise le CSS ci-dessous, mais il met une image au centre du bouton. Un moyen d'aligner à gauche ou à droite une icône en utilisant <input type="button">
, de sorte que le texte et l'image s'adaptent et s'alignent bien?
background: url('/common/assets/images/icons/16x16/add.png');
background-position:center;
background-repeat:no-repeat;
button
(avec le typesubmit
) fonctionne de la même manière, àinput
l'exception d'autoriser des éléments à l'intérieur (plutôt que de simplement appliquer des styles).<button>
implémentation d'IE vient du fait que 1) sur un POST / GET, il soumet les `` valeurs '' pour chaque bouton, et pas seulement celui sur lequel on a cliqué, et 2) au lieu d'envoyer l'value
attribut réel , IE aime pour envoyer le contenu (HTML interne) du bouton. Ces faits rendent la<button>
balise peu fiable si l'action entreprise dépend du bouton sur lequel l'utilisateur a cliqué.<button>
et de<input type=button>
manière interchangeable. Si vous ne voulez pas que <button> soumette dans IE, définissez son type comme ceci:<button type="button">Text</button>
Cela devrait faire ce que vous voulez, en supposant que l'image de votre bouton soit de 16 sur 16 pixels.
Exemple de bouton:
Mettre à jour
Si vous utilisez Less, ce mixin peut vous être utile.
Ce qui précède se compile en
JSFiddle
la source
J'espère que ceci vous aide.
la source
Si vous utilisez des spritesheets, cela devient impossible et l'élément doit être enveloppé.
Découvrez ce violon: http://jsfiddle.net/AJNnZ/
la source
vous pouvez essayer cette astuce!
1er) faites ceci:
2e) stylisez-le!
Ce n'est pas propre mais ça fera l'affaire!
la source
Ajoutez simplement l'icône dans l'élément de bouton, voici l'exemple
la source
vous pouvez essayer d'insérer une image à l'intérieur du bouton http://jsfiddle.net/s5GVh/1415/
la source
Ce que je ferais, c'est faire ceci:
Utiliser un type de bouton
J'ai utilisé la couleur de fond: rgba (255,255,255,0,0); Pour que la couleur d'arrière-plan d'origine d'un bouton disparaisse. La même chose avec la bordure: aucune; cela enlèvera la bordure d'origine.
la source
C'est le style minimal nécessaire, ajustant l'image à la taille du bouton par défaut:
la valeur "espacée" est nécessaire pour conserver l'alignement de la ligne de base, juste au cas où vous en auriez besoin ...
la source
La réponse de sshow l'a fait pour moi aussi:
navigation.css :
frameMenu.php :
J'ai testé cela avec succès sous les dernières versions de Firefox et Chrome (au 9 février 2019).
la source
Cela fonctionne bien pour moi, et je gère également le survol et cliquez sur CSS (en changeant la couleur d'arrière-plan):
HTML (montrant ici 2 images, image1 au-dessus de l'image2):
CSS (mes images sont 32px X 32px, donc je leur ai donné 4px pour le remplissage et un arrondi de bordure de 5px):
la source
la source