Structure HTML
Page Title

Hello World

Éléments courants
Texte et titres

Heading 1

...
Heading 6

Paragraph text

Bold Italic

Liens et images
Link text #section">Anchor link Description
Listes
  1. First
Formulaires
Types de champs
Select et Textarea
HTML sémantique
<header>Contenu d'introduction ou conteneur de navigation
<nav>Liens de navigation
<main>Contenu principal de la page (un seul par page)
<section>Regroupement thématique de contenu
<article>Contenu autonome
<aside>Barre latérale ou contenu tangentiel
<footer>Pied de page d'une section ou de la page
<figure>Image ou diagramme avec légende
<figcaption>Légende pour
Sélecteurs CSS
Sélecteurs de base
elementp { } — tous les éléments

.class.card { } — sélecteur de classe
#id#main { } — sélecteur d'identifiant
*Sélecteur universel (tous les éléments)
Combinateurs
A BDescendant (B à l'intérieur de A)
A > BEnfant direct uniquement
A + BFrère adjacent (B juste après A)
A ~ BFrère général (B après A)
Pseudo-classes
:hoverSouris sur l'élément
:focusL'élément a le focus
:first-childPremier enfant du parent
:nth-child(n)N-ième enfant (2n = pair, odd = impair)
Modèle de boîte
.box { margin: 10px; /* extérieur */ border: 1px solid #333; /* bordure */ padding: 15px; /* intérieur */ width: 200px; box-sizing: border-box; /* inclure pad+border */ }
Notation abrégée
margin: 10pxTous les côtés
margin: 10px 20pxHaut/bas | gauche/droite
margin: 10px 20px 15pxHaut | gauche/droite | bas
margin: 10px 20px 15px 5pxHaut | droite | bas | gauche
Flexbox
Conteneur
.flex-container { display: flex; flex-direction: row; /* row | column */ justify-content: center; /* axe principal */ align-items: center; /* axe transversal */ gap: 10px; flex-wrap: wrap; }
Propriétés des éléments
flex: 1S'agrandir pour remplir l'espace disponible
flex-grow: 2Ratio d'agrandissement par rapport aux frères
flex-shrink: 0Ne pas rétrécir sous la base
flex-basis: 200pxTaille initiale avant agrandissement/rétrécissement
align-self: flex-endRemplacer l'alignement du conteneur
order: -1Ordre visuel (0 par défaut)
Grid
Conteneur
.grid { display: grid; grid-template-columns: 1fr 2fr 1fr; grid-template-rows: auto; gap: 10px; }
Placement des éléments
.item { grid-column: 1 / 3; /* couvrir col 1-2 */ grid-row: 1 / 2; } /* abréviation : repeat, minmax */ grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
Positionnement
staticFlux par défaut (pas de propriétés de décalage)
relativeDécalage par rapport à la position normale
absoluteDécalage par rapport à l'ancêtre positionné le plus proche
fixedDécalage par rapport au viewport (reste au défilement)
stickyRelatif jusqu'au seuil de défilement, puis fixe
Exemple
.parent { position: relative; } .child { position: absolute; top: 0; right: 0; /* coin supérieur droit */ }
Media queries
/* Mobile-first : styles de base pour petits écrans */ .container { padding: 10px; } @media (min-width: 768px) { .container { max-width: 720px; } } @media (min-width: 1024px) { .container { max-width: 960px; } }
Points de rupture courants
480pxPetits téléphones
768pxTablettes
1024pxPetits ordinateurs de bureau / tablettes en paysage
1280pxOrdinateurs de bureau