Cours HTML/CSS â 15 Octobre 2025
Introduction
Prochain cours : évaluation.
Au programme dâaujourdâhui : les formulaires, la position CSS, et peut-ĂȘtre une introduction Ă Flexbox.
Les formulaires
Au programme aujourdâhui : formulaire, CSS position, et peut-ĂȘtre Flexbox.
Zones de saisie et backend
Les zones de saisie permettent de collecter des donnĂ©es. Ces donnĂ©es sont envoyĂ©es Ă un serveur (backend), qui les traite. Pour lâinstant, nous nâaborderons pas le backend.
LâĂ©lĂ©ment <form>
Le formulaire contient tous les champs de saisie. Les attributs principaux :
action
â indique oĂč les donnĂ©es doivent ĂȘtre envoyĂ©es.method
â fortement recommandĂ© pour Ă©viter dâafficher les donnĂ©es dans lâURL (ex. POST).- GET â envoie les donnĂ©es dans lâURL (moins sĂ©curisĂ©, utile pour recherches).
- POST â envoie les donnĂ©es dans le corps de la requĂȘte (plus sĂ»r).
enctype="multipart/form-data"
â utilisĂ© si le formulaire contient autre chose que du texte (ex. fichiers).
Les champs de saisie
On précise le type du champ pour aider le navigateur :
<input type="email">
<input type="password">
<input type="number">
<input type="date">
Le type indique ce qui est attendu et permet dâĂ©viter les erreurs.
Bouton submit
Le bouton submit
permet de soumettre le formulaire.
â ïž Attention Ă ne pas confondre button
et input type="submit"
:
<input type="submit" value="OK">
Lâattribut value
définit le texte affiché sur le bouton.
Attribut hidden
hidden
permet de masquer des Ă©lĂ©ments Ă lâutilisateur, pour confort visuel ou pour transmettre des informations inutiles Ă lâutilisateur final.
â ïž Ce nâest pas un mĂ©canisme de sĂ©curitĂ©.
<input type="hidden" name="info" value="valeur">
Checkbox et radio
<input type="checkbox"> <!-- choix multiple -->
<input type="radio"> <!-- choix unique -->
Placeholder et label
Le placeholder
guide lâutilisateur mais nâest pas suffisant : il disparaĂźt si lâutilisateur tape un espace et peut ĂȘtre difficile Ă lire (gris clair sur fond blanc).
Exemple de format attendu : jj/mm/aaaa.
<label for="texte">Texte :</label>
<input type="text" id="texte" name="texte" placeholder="jj/mm/aaaa">
Lâattribut name
nomme la valeur pour le backend. Pas besoin de label pour les boutons submit.
Fieldset et legend
Ces balises permettent de regrouper des champs pour une meilleure organisation et pour faciliter le traitement cÎté backend :
<fieldset>
<legend>Informations personnelles</legend>
<label for="nom">Nom :</label>
<input type="text" id="nom" name="nom">
</fieldset>
Position CSS
Il faut comprendre le flux : la maniĂšre dont les Ă©lĂ©ments sâaffichent et sâenchaĂźnent par dĂ©faut dans la page.
La propriété position
permet de modifier le comportement dâun Ă©lĂ©ment dans ce flux.
Position relative
.element {
position: relative;
top: 10px;
left: 0;
}
âĄïž Cela dĂ©place lâĂ©lĂ©ment par rapport Ă sa position dâorigine dans le flux (ici, 10px vers le bas).
Position absolute
.element {
position: absolute;
top: 10px;
}
Relative et absolute fonctionnent ensemble :
absolute
positionne lâĂ©lĂ©ment par rapport Ă son premier parent âpositionnĂ©â.- Si aucun parent nâest positionnĂ©, le repĂšre devient le document
html
. relative
peut ĂȘtre utilisĂ©e sans dĂ©calage, simplement pour crĂ©er un repĂšre pour un Ă©lĂ©mentabsolute
.
Ce type de positionnement est souvent un dernier recours : il existe dâautres mĂ©thodes plus modernes pour la mise en page.
Position fixed
fixed
retire aussi lâĂ©lĂ©ment du flux, mais le positionne par rapport Ă la fenĂȘtre (viewport).
Exemple typique : un bouton âRetour en hautâ positionnĂ© Ă 10px de la droite et 100px du haut.
.back-to-top {
position: fixed;
right: 10px;
top: 100px;
}
âĄïž Les valeurs de top
, left
, right
, bottom
peuvent ĂȘtre nĂ©gatives.
Position sticky
sticky
est un positionnement hybride entre relative
et fixed
.
â ïž Ă utiliser avec prĂ©caution : un header complet en sticky nâest pas recommandĂ©.
De plus, une nav
sticky doit disposer dâun espace libre pour pouvoir âcollerâ au scroll.
Voir experimentations dans le projet html2 : lien vers projet html 2
Tableau dâexplication dĂ©taillĂ© sur les sĂ©lecteurs CSS
Sélecteur | Description | Exemple |
---|---|---|
> | SĂ©lectionne uniquement les enfants directs. | div > p â sĂ©lectionne les p enfants directs dâun div . |
(espace) | SĂ©lectionne tous les descendants (mĂȘme lointains). | div p â sĂ©lectionne tous les p Ă lâintĂ©rieur dâun div . |
+ | SĂ©lectionne lâĂ©lĂ©ment directement suivant. | h1 + p â sĂ©lectionne le premier p aprĂšs un h1 . |
~ | SĂ©lectionne les frĂšres suivants. | h1 ~ p â sĂ©lectionne tous les p qui suivent un h1 . |
::before / ::after | Ajoutent du contenu avant ou aprÚs un élément (pseudo-éléments). | .box::after { content:""; } |
Introduction Ă Flexbox
Faute de temps, Flexbox nâa Ă©tĂ© quâĂ©voquĂ© rapidement. Cependant :
- Avec Chrome (ou tout autre navigateur moderne), on peut utiliser lâinspecteur de code pour tester et modifier les attributs de flex en temps rĂ©el.
- Flexbox permet de positionner, aligner et distribuer les éléments de maniÚre dynamique et flexible.