Accueil/Informatique & Développement /Chapitre 02 /Fiche de révision

CSS — mettre en forme

Recto-verso. À relire la veille. Le cours · Les exercices

Insérer & la règle

Externe (recommandé) : <link rel="stylesheet" href="style.css">

sélecteur {
  propriété: valeur;
}

Interne (<style>) et en ligne (style="…", à éviter).

Sélecteurs simples

ppar balise
.intropar classe (réutilisable)
#menupar id (unique)

Sélecteurs combinés

a bb dans a (descendant)
a > bb enfant direct de a
a + bb juste après a
a ~ btous les b après a

⚡ Spécificité

#id > .classe > balise

En cas de conflit, le plus spécifique gagne — pas le dernier écrit.

Le modèle de boîte

De l'intérieur vers l'extérieur :

contenu → padding → border → margin
  • margin — espace extérieur
  • border — le trait
  • padding — espace intérieur

Toujours : * { box-sizing: border-box; }

Propriétés courantes

colorcouleur du texte
background-colorfond
font-family / size / weightpolice
text-alignleft, center, right

Couleurs hex : #RRGGBB, 00 → FF (RVB).

div & span

div = bloc (pleine largeur, saut de ligne).
span = en ligne (dans le fil du texte).

Conteneurs neutres : servent à regrouper pour styliser.

Pseudo-classes ( : )

Un état / une position.

:hoverau survol
:focuschamp actif
:first-child / :last-child1er / dernier
:nth-child(n)le n-ième
:checkedcoché

Pseudo-éléments ( :: )

Un morceau / du contenu virtuel. content obligatoire pour before/after.

::before / ::afteravant / après
::first-letterlettrine
::first-line1re ligne

Flexbox — conteneur

display: flex sur le parent.

flex-directionrow / column
justify-contentaxe principal (center, space-between…)
align-itemsaxe transversal (center…)
flex-wrapwrap = passe à la ligne
gapespace entre items

Flexbox — items

orderordre d'affichage
flex-growgrandir (défaut 0)
flex-shrinkrétrécir (défaut 1)
flex-basistaille initiale
align-selfaligne un seul item

Centrage parfait

.box {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

Responsive — mobile-first

/* base = mobile */
.x { width: 100%; }

@media (min-width: 768px) {
  .x { width: 700px; }
}
@media (min-width: 1024px) {
  .x { width: 800px; }
}

Indispensable : <meta name="viewport">. Grid pour la 2D.