Les utilisateurs doivent savoir par l'apparence de l'interface Web quel est son comportement ... donc l'apparence du bouton ne doit pas être utilisée comme lien, et l'apparence visuelle d'un lien ne doit pas être utilisée comme un bouton.
Antagonist
2
Habituellement, vous avez besoin de plusieurs images pour un bouton: standard, survolé, enfoncé, actif. Sinon, cela ne vous semblera pas naturel.
user123444555621
Je vous suggère également d'ajouter cursor: pointer;en css pour que le curseur regarde le lien d'une main avec un index pointé, car cela se produit également avec un bouton normal et est une aide utile pour l'utilisateur.
Cela ne fonctionne pour moi que si je l'applique à atag directement ( a {display: block ...}), ce qui n'est pas acceptable. Avez-vous une idée de la raison pour laquelle l' classattribut à l'intérieur de la abalise ne fonctionne pas? :( J'utilise Firefox 27. J'ai aussi essayé a.button {...}et ça ne marche pas non plus.
just_a_girl
4
si vous utilisez bootstrap, vous pouvez faire <a class="btn btn-info"> </a> et utiliser les styles bootstrap existants et éviter de définir un nouveau style.
stcorbett
si vous obtenez un soulignement dans votre bouton, ajouteztext-decoration:none
Rohit Chemburkar
99
Consultez la documentation de Bootstrap . Une classe .btnexiste et fonctionne avec la abalise, mais vous devez ajouter une .btn-*classe spécifique avec la .btnclasse.
Génial. J'utilisais Bootstrap et je ne le savais pas; P
Felipe Carminati
13
Dans les versions récentes de bootstrap, vous avez besoin d'une classe btn- * spécifique avec la classe btn. par exemple: <a class="btn btn-info"> </a>
stcorbett
15
vous pouvez facilement envelopper un bouton avec un lien comme celui-ci <a href="#"> <button>my button </button> </a>
Si vous souhaitez éviter de coder en dur une conception spécifique avec css, mais plutôt vous fier au bouton par défaut du navigateur, vous pouvez utiliser le css suivant.
Pour connaître l' état actuel de la prise en charge des navigateurs, consultez caniuse.com/#feat=css-appearance ; notez que le navigateur peut s'afficher appearance: buttondifféremment d'un bouton natif (du moins lorsque je viens de vérifier sur Chrome 78).
SOLO
c'est exactement ce que je recherchais, mais cela ne fonctionne pas spécifiquement <a>dans Chrome. Je l'ai testé <span>et cela a bien fonctionné.
Hashbrown le
4
Aucune des autres réponses ne montre le code où le bouton de lien change d'apparence au survol.
Bien sûr, vous pouvez modifier l'exemple ci-dessus selon vos besoins. L'important est de le faire apparaître comme un bloc ( display:block) ou un bloc en ligne ( display:inline-block).
vous devez garder l'affichage: en ligne; et au lieu d'utiliser la hauteur et la largeur, vous devriez utiliser le rembourrage et la hauteur de la ligne pour ajuster la taille de l'ancre
Antagonist
@Antagonist: Puisque l'OP veut une image comme arrière-plan et qu'il utilisera probablement toujours la même chose, je ne vois pas pourquoi il ne devrait pas utiliser la hauteur et la largeur spécifiques de cette image. Mais je suppose que le PO essaiera toutes les solutions suggérées et choisira celle qui lui semble la meilleure.
r0skar
ce que je dis, c'est d'utiliser d'autres propriétés css pour obtenir la même chose et de conserver la propriété d'affichage d'origine en ligne ...
Antagonist
1
Pour le HTML de base, vous pouvez simplement ajouter une balise img avec le src défini sur l'URL de votre image dans le HREF (A)
Utilisez des balises spécifiques au framework et utilisez-les sur tout le site Web.
Utilisez JavaScript pour émuler un lien sur un élément de bouton, puis faites en sorte que le bouton soit cohérent avec les boutons du navigateur. Ces hacks d'apparence de bouton css ne seront jamais précis.
Prenez simplement des conceptions de boutons css ordinaires et appliquez ce CSS à un lien (exactement de la même manière que vous le feriez pour un bouton).
J'ai fait cela sur les projets précédents et IE refuse de se comporter. J'ai testé ce code, mais je voudrais signaler une préoccupation qui nécessite plus de justification.
MEM
0
pour ceux qui rencontrent des problèmes après l'ajout d'actif et de focus, donnez un nom de classe ou d'identifiant à votre bouton et ajoutez-le au css
Bienvenue dans StackOverflow! Veuillez inclure tout le code pertinent dans votre message et ne pas simplement inclure un lien vers un site Web externe. Les liens sont parfaits pour des informations supplémentaires , mais votre message doit être indépendant de toute autre ressource - les liens peuvent changer ou devenir «morts». Les collègues programmeurs devraient être en mesure de résoudre le problème détaillé dans la question directement à partir de votre réponse.
cursor: pointer;
en css pour que le curseur regarde le lien d'une main avec un index pointé, car cela se produit également avec un bouton normal et est une aide utile pour l'utilisateur.Réponses:
En utilisant CSS:
http://jsfiddle.net/GCwQu/
la source
a
tag directement (a {display: block ...}
), ce qui n'est pas acceptable. Avez-vous une idée de la raison pour laquelle l'class
attribut à l'intérieur de laa
balise ne fonctionne pas? :( J'utilise Firefox 27. J'ai aussi essayéa.button {...}
et ça ne marche pas non plus.text-decoration:none
Consultez la documentation de Bootstrap . Une classe
.btn
existe et fonctionne avec laa
balise, mais vous devez ajouter une.btn-*
classe spécifique avec la.btn
classe.par exemple:
<a class="btn btn-info"></a>
la source
vous pouvez facilement envelopper un bouton avec un lien comme celui-ci
<a href="#"> <button>my button </button> </a>
la source
Quelque chose comme ça ressemblerait à un bouton:
Voir http://jsfiddle.net/r7v5c/1/ pour un exemple.
la source
Essaye ça:
Vous pouvez utiliser le
href
slogan à partir de là.la source
Si vous souhaitez éviter de coder en dur une conception spécifique avec css, mais plutôt vous fier au bouton par défaut du navigateur, vous pouvez utiliser le css suivant.
Notez que cela ne fonctionnera probablement pas sur IE.
la source
appearance: button
différemment d'un bouton natif (du moins lorsque je viens de vérifier sur Chrome 78).<a>
dans Chrome. Je l'ai testé<span>
et cela a bien fonctionné.Aucune des autres réponses ne montre le code où le bouton de lien change d'apparence au survol.
Voici ce que j'ai fait pour résoudre ce problème:
HTML:
CSS:
JSFiddle: https://jsfiddle.net/adamovic/ovu3k0cj/
la source
background-image
propriété CSS sur la<a>
balisedisplay:block
et ajusterwidth
etheight
en CSSCela devrait faire l'affaire.
la source
Oui, tu peux faire ça.
Voici un exemple:
Bien sûr, vous pouvez modifier l'exemple ci-dessus selon vos besoins. L'important est de le faire apparaître comme un bloc (
display:block
) ou un bloc en ligne (display:inline-block
).la source
Pour le HTML de base, vous pouvez simplement ajouter une balise img avec le src défini sur l'URL de votre image dans le HREF (A)
la source
Vous pouvez créer une classe pour les éléments d'ancrage que vous souhaitez afficher sous forme de boutons.
Par exemple:
À l'aide d'une image:
ou en utilisant une approche CSS pure:
N'oubliez jamais de masquer le texte avec quelque chose comme:
Une excellente galerie de boutons CSS purs est ici et vous pouvez même utiliser le générateur de boutons css3
Beaucoup de styles et de choix sont ici
bonne chance
la source
Vous avez deux options pour la cohérence.
.
return false;
est d'empêcher le comportement par défaut du bouton d'être cliqué.la source
Prenez simplement des conceptions de boutons css ordinaires et appliquez ce CSS à un lien (exactement de la même manière que vous le feriez pour un bouton).
Exemple:
la source
pour ceux qui rencontrent des problèmes après l'ajout d'actif et de focus, donnez un nom de classe ou d'identifiant à votre bouton et ajoutez-le au css
par exemple
//Code HTML
// code css
la source
Testé avec Chromium 40 et Firefox 36
la source
Essayez ce code:
Regardez ceci (il vous expliquera comment le faire) - https://youtu.be/euti4HAJJfk
la source
Un simple comme ça:
Ajoutez simplement "class =" btn btn-success "& role = button
la source
class="btn btn-success"
est une classe bootstrap.