Aller au contenu

Balise HTML <button>

La balise <button> est utilisée pour créer des boutons cliquables sur une page web. La différence entre ces éléments et les boutons créés avec la balise <input> est que vous pouvez placer du contenu (images ou texte) à l'intérieur de la balise <button>.

TIP

Utilisez l'élément <input> pour définir un bouton dans un formulaire HTML, car les navigateurs affichent le contenu de la balise <button> différemment.

Syntaxe

La balise <button> s'utilise par paire. Le contenu est écrit entre les balises d'ouverture (<button>) et de fermeture (</button>).

Exemple de la balise HTML <button> :

Exemple de balise HTML <button>

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>Here will be our button</h1>
    <button type="button">Click</button>
  </body>
</html>

Utilisation des styles CSS

Vous pouvez appliquer des styles CSS à la balise <button> pour modifier l'apparence du bouton, sa taille, sa couleur, la police du texte, etc.

Exemple de la balise <button> avec des styles CSS :

Exemple de balise HTML <button> avec les propriétés CSS color et font

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    Ordinary button
    <button type="button">Add to the recycle bin</button>
    <hr />
    Button with red text
    <button type="button" style="color: red;"><b>HTML Book </b></button>
    <hr />
    Button with increased font size
    <button type="button" style="font: bold 14px Arial;">Download the book </button><br />
  </body>
</html>

Résultat

html button styles

Attributs

TIP

La balise <button> ne possède pas d'attributs obligatoires ; cependant, nous recommandons d'utiliser toujours l'attribut type="button" si la balise est utilisée comme un bouton standard.

Note : Si l'attribut type est omis et que le bouton est placé dans un formulaire HTML, il prend par défaut type="submit".

Attributs

AttributsValeurDescription
autofocusautofocusSpécifie que le bouton doit recevoir le focus après le chargement de la page.
disableddisabledDésactive le bouton. (Utilisé lorsque le bouton doit devenir actif après avoir effectué une action.)
formform_idSpécifie un ou plusieurs formulaires auxquels le bouton appartient. Si le bouton appartient à plusieurs formulaires, leurs identifiants (form_id) doivent être séparés par des espaces.
formactionURLDéfinit l'adresse vers laquelle les données du formulaire seront envoyées après un clic sur le bouton. (Utilisé uniquement pour les boutons avec l'attribut type="submit").
formenctypeapplication/x-www-form-urlencodedDéfinit comment les données du formulaire doivent être encodées lors de la soumission. (Utilisé uniquement pour type="submit"). Tous les symboles sont encodés avant la soumission du formulaire (valeur par défaut).
multipart/form-dataEncode les données en tant que MIME multipart.
text/plainLes espaces sont remplacés par le signe "+", mais les symboles ne sont pas encodés.
formmethodgetDéfinit la méthode de la requête HTTP qui sera utilisée lors de la soumission du formulaire (uniquement pour type="submit"). Transmet les données du formulaire dans la barre d'adresse ("name = value"), qui sont ajoutées à l'URL de la page après un point d'interrogation et séparées par un esperluette (&).
postLe navigateur communique avec le serveur et envoie les données pour traitement.
formnovalidateformnovalidateSpécifie que les données du formulaire ne doivent pas être validées lors de la soumission (uniquement pour type="submit").
formtarget_blankSpécifie où la réponse sera affichée après la soumission du formulaire (uniquement pour type="submit"). Ouvre la réponse dans une nouvelle fenêtre.
_selfOuvre la réponse dans la fenêtre actuelle.
_parentOuvre la réponse dans le cadre parent.
_topOuvre la réponse dans une fenêtre pleine largeur.
namenameDéfinit le nom du bouton.
typebuttonDéfinit un bouton standard.
resetBouton qui efface les données saisies dans le formulaire.
submitBouton pour envoyer les données du formulaire.
valuetextDéfinit la valeur du bouton.

La balise <button> prend également en charge les Attributs globaux et les Attributs d'événement.

Comment ajouter un texte alternatif à un bouton avec une image ?

Pour ajouter un texte alternatif à un bouton contenant une image, vous pouvez utiliser l'attribut alt. Voici un exemple :

Comment ajouter un texte alternatif à un bouton avec une image ?

html
<button type="button">
  <img src="button-image.png" alt="Button Label">
</button>

Dans cet exemple, l'attribut alt a été ajouté à l'élément img à l'intérieur de l'élément button. La valeur de l'attribut alt doit être une brève description de l'image, qui sera lue par les lecteurs d'écran à la place de l'image elle-même.

Comment ajouter un lien à un bouton ?

Pour créer un lien cliquable qui ressemble à un bouton, utilisez un élément &lt;a&gt; stylisé avec CSS. Envelopper un &lt;button&gt; dans un &lt;a&gt; n'est pas valide en HTML5. Voici la bonne approche :

Comment ajouter un lien à un bouton ?

html
<a href="https://example.com" class="button-link">
  Button Label
</a>

Dans cet exemple, l'élément &lt;a&gt; est stylisé pour ressembler à un bouton. Lorsque l'utilisateur clique dessus, il sera redirigé vers l'URL liée.

Pratique

Quelles sont les propriétés et l'utilisation de la balise HTML <button> ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.