Exemple

Ceci est l'example pour l'article Mon premier formulaire HTML.

Un formulaire simple

Contenu HTML

<form action="http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi" method="post">
  <div>
    <label for="nom">Nom :</label>
    <input type="text" id="nom" name="user_name">
  </div>

  <div>
    <label for="courriel">Courriel :</label>
    <input type="email" id="courriel" name="user_email">
  </div>

  <div>
    <label for="message">Message :</label>
    <textarea id="message" name="user_message"></textarea>
  </div>
 
  <div class="button">
    <button type="submit">Envoyer votre message</button>
  </div>
</form>

Contenu CSS

form {
  /* Pour le centrer dans la page */
  margin: 0 auto;
  width: 400px;

  /* Pour voir les limites du formulaire */
  padding: 1em;
  border: 1px solid #CCC;
  border-radius: 1em;
}

div + div {
  margin-top: 1em;
}

label {
  /* Afin de s'assurer que toutes les étiquettes aient la même dimension et soient alignées correctement */
  display: inline-block;
  width: 90px;
  text-align: right;
}

input, textarea {
  /* Afin de s'assurer que tous les champs textuels utilisent la même police
     Par défaut, textarea utilise une police à espacement constant */
  font: 1em sans-serif;

  /* Pour donner la même dimension à tous les champs textuels */
  width: 300px;

  -moz-box-sizing: border-box;
       box-sizing: border-box;

  /* Pour harmoniser l'apparence des bordures des champs textuels */
  border: 1px solid #999;
}

input:focus, textarea:focus {
  /* Afin de réhausser les éléments actifs */
  border-color: #000;
}

textarea {
  /* Pour aligner correctement les champs multilignes et leurs étiquettes */
  vertical-align: top;

  /* Pour donner assez d'espace pour entrer du texte */
  height: 5em;

  /* Pour permettre aux utilisateurs de redimensionner un champ textuel horizontalement
     Cela ne marche pas avec tous les navigateurs  */
  resize: vertical;
}

.button {
  /* Pour positionner les boutons de la même manière que les champs textuels */
  padding-left: 90px; /* même dimension que les étiquettes */
}

button {
  /* Cette marge représente approximativement le même espace
     que celui entre les étiquettes et les champs textuels */
  margin-left: .5em;
}

Résultat

 

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : tregagnon, FredB
 Dernière mise à jour par : tregagnon,