PhpBB Lab Académie

Rechercher dans ce cours

Cours CSS : Apprendre le CSS : cours gratuit pour débutants

Auteur : phpBB-Lab. Date de cette version : lun. 21 sept. 2026 02:17.

Finaliser le formulaire et ranger la feuille CSS

Objectif de la leçon

Présenter les quatre champs de texte, la légende et le bouton de Contact en réutilisant les propriétés connues, laisser le message grandir et nettoyer le CSS du projet.

Explications

Un formulaire cohérent, sans remplacer ses contrôles

Les quatre champs de texte ont déjà une largeur souple et leurs labels sont sur leur propre ligne. Le groupe radio, la case copie et le bouton conservent leur comportement HTML.

Nous allons terminer leur présentation et organiser styles.css. Le traitement du message n’est toujours pas installé : CSS n’envoie pas d’e-mail et ne rend pas la copie opérationnelle.

1. Présenter uniquement les champs de texte

Dans .champ-texte, ajoutez padding: 0.75rem;, border: 0.125rem solid #64748b;, color: #1f2937; et background-color: #ffffff;.

Toutes ces propriétés ont déjà été utilisées sur les notes ou le tableau. Ici, la classe limite leur portée aux trois inputs de saisie et au textarea. Les radios et copie ne reçoivent ni la largeur de 100% ni ce padding.

La typographie héritée depuis input, textarea, button reste en place. Le contour de focus reste extérieur : ne le supprimez pas quand vous ajoutez une bordure.

2. Donner une hauteur de départ au message, pas un plafond

La propriété min-height fixe une hauteur minimale. Ajoutez textarea { min-height: 8rem; resize: vertical; }.

resize: vertical conserve, dans les navigateurs qui offrent cette interaction, la possibilité d’agrandir la zone verticalement sans déformer la largeur du formulaire. Une hauteur minimale n’est pas une hauteur maximale.

Un textarea natif ne grandit pas automatiquement avec chaque ligne saisie grâce à ces seules règles : il peut garder une barre de défilement interne. Nous n’ajoutons pas de script d’agrandissement automatique dans ce cours.

3. Garder une légende lisible

Dans fieldset, conservez min-width: 0; et ajoutez la bordure #64748b et padding: 1rem;. Dans legend, ajoutez max-width: 100%; et font-weight: bold;.

La question Comment préférez-vous être contacté ? (obligatoire) reste entière. Nous ne raccourcissons pas son texte et ne remplaçons pas ses radios par des éléments dessinés en CSS.

4. Présenter le bouton d’envoi

Le button Envoyer le message reçoit padding: 0.75rem;, border: 0.125rem solid #163b65;, color: #ffffff; et background-color: #163b65;.

La paire blanc sur bleu foncé inverse une paire déjà contrôlée et garde le même ratio de contraste. Pour button:hover, utilisez background-color: #1f2937;. La couleur du texte reste blanche ; il faut donc contrôler aussi cette paire.

Le focus de la leçon précédente reste actif. Un bouton mis en forme n’est pas un traitement serveur : gardez type="submit" mais testez uniquement les comportements HTML avec des valeurs fictives.

5. Ranger sans modifier le comportement

Regroupez la feuille sous des commentaires : Base commune, En-tête et navigation, Titres et contenu, Notes, Image et tableau, Formulaire, Liens et focus, Pied de page, Adaptation.

Conservez un seul bloc ordinaire par sélecteur et gardez la media query mobile-first après la base. Supprimez les essais colorés de p et p.introduction et tout ancien bloc @media max-width du menu. Ne supprimez pas les propriétés qui ont encore un rôle réel.

Les commentaires ne changent pas le rendu. Déplacer une règle en conflit peut, lui, changer le résultat : comparez les trois pages après le rangement. La dernière leçon fournira la correction de référence complète et une vérification finale du même site.

Exemple commenté

Les règles à compléter pour Contact :

.champ-texte {
    width: 100%;
    max-width: 100%;
    padding: 0.75rem;
    border: 0.125rem solid #64748b;
    color: #1f2937;
    background-color: #ffffff;
}

textarea {
    min-height: 8rem;
    resize: vertical;
}

fieldset {
    min-width: 0;
    border: 0.125rem solid #64748b;
    padding: 1rem;
}

legend {
    max-width: 100%;
    font-weight: bold;
}

button {
    padding: 0.75rem;
    border: 0.125rem solid #163b65;
    color: #ffffff;
    background-color: #163b65;
}

button:hover {
    background-color: #1f2937;
}

Exercice à réaliser

Étape 1

Complétez .champ-texte avec le padding, la bordure et les couleurs, en conservant sa largeur souple.

Étape 2

Ajoutez min-height: 8rem; et resize: vertical; sur textarea. Vérifiez qu’un long message reste consultable sans déborder de la page.

Étape 3

Complétez fieldset et legend sans supprimer leur structure ou la question.

Étape 4

Présentez button puis button:hover avec les valeurs indiquées. Vérifiez son contour au clavier.

Étape 5

Rangez styles.css avec des commentaires, retirez les essais et vérifiez les trois pages. Le cours se termine ensuite sur ce même projet.

Correction et résultat attendu

.champ-texte {
    width: 100%;
    max-width: 100%;
    padding: 0.75rem;
    border: 0.125rem solid #64748b;
    color: #1f2937;
    background-color: #ffffff;
}

textarea {
    min-height: 8rem;
    resize: vertical;
}

fieldset {
    min-width: 0;
    border: 0.125rem solid #64748b;
    padding: 1rem;
}

legend {
    max-width: 100%;
    font-weight: bold;
}

button {
    padding: 0.75rem;
    border: 0.125rem solid #163b65;
    color: #ffffff;
    background-color: #163b65;
}

button:hover {
    background-color: #1f2937;
}



Ces règles complètent la base existante, notamment la typographie héritée et les contours de focus. Le textarea peut défiler intérieurement ; aucune croissance automatique par JavaScript n’a été ajoutée. Les contrôles et leurs labels sont ceux du cours HTML.

À retenir

Les quatre saisies, le groupe de choix et le bouton partagent maintenant la présentation du site. Min-height donne un minimum, resize autorise un ajustement vertical disponible selon le navigateur. Une feuille rangée conserve les comportements déjà vérifiés.

Seuil de réussite, en pourcentage : 100 %. QCM obligatoire pour terminer le cours.

Sommaire du cours

Découvrir CSS et écrire ses premières règles

  1. Comprendre CSS et créer sa première feuille de style
  2. Cibler les éléments avec les sélecteurs CSS
  3. Ajouter plusieurs déclarations dans une règle CSS

Mettre en forme le texte et améliorer sa lisibilité

  1. Améliorer la lisibilité du texte avec les propriétés typographiques
  2. Choisir les couleurs et comprendre le contraste
  3. Construire une typographie cohérente et accessible

Comprendre les espacements et le modèle de boîte CSS

  1. Comprendre les espacements avec margin et padding
  2. Comprendre le modèle de boîte avec les bordures
  3. Maîtriser la largeur du site et de son image

Comprendre l’héritage, la cascade et la priorité des règles CSS

  1. Comprendre les valeurs héritées dans le site
  2. Comprendre la cascade sur les paragraphes d’introduction
  3. Comparer les sélecteurs sans dérégler les introductions

Organiser la disposition des éléments avec Flexbox

  1. Transformer la navigation commune en conteneur Flexbox
  2. Espacer et aligner les liens du menu
  3. Laisser la navigation revenir sur plusieurs lignes

Construire des mises en page avec CSS Grid

  1. Disposer les deux notes de progression avec CSS Grid
  2. Adapter les colonnes des notes sans minimum rigide
  3. Intégrer Grid et Flexbox sans modifier le reste du site

Adapter le petit site aux différentes tailles d’écran

  1. Écrire une première media query pour la navigation
  2. Partir de la petite largeur avec min-width
  3. Vérifier le reflow du tableau, de l’image et du formulaire

Finaliser les trois pages et vérifier leur accessibilité

  1. Rendre les liens et le focus faciles à repérer
  2. Finaliser le formulaire et ranger la feuille CSS
  3. Vérifier et terminer le site HTML et CSS

Adapter le petit site aux différentes tailles d’écran

  1. Découvrir les media queries et adapter la mise en page
  2. Finaliser l’adaptation du site et conclure le cours CSS