Le comportement par défaut d’une page Web
Même sans application de CSS, un document HTML a déjà ses propres règles :
- fluidité : comment le contenu s’adapte aux dimensions du navigateur
- Ordre/Organisation : dans quel ordre les éléments apparaissent
- empilement : comment les éléments apparaissent les uns sur les autres
Ce comportement naturel est logique.
Fluidité
En HTML, le contenu est roi.
Tous les éléments block sont fluides. Ils adapteront naturellement leur mise en page pour s’adapter à leur contenu intérieur :
- width: 100%
un bloc prendra toute la largeur disponible - word wrap
Si le contenu en ligne d’un bloc ne tient pas sur une seule ligne, il continuera sur une nouvelle ligne. - height: auto
la hauteur d’un bloc varie automatiquement pour correspondre à la taille de son contenu
Cet élément sera poussé vers le bas en fonction de la hauteur de ses prédécesseurs.
- Un bloc est par défaut en pleine largeur
- Sa hauteur est la hauteur de son contenu
Ordre/Organisation
HTML elements are displayed in the order in which they are written in the code. First in the code -> first in the browser.
Each block appears in the order in which they appear in the HTML code, from top to bottom.
Les éléments HTML sont affichés dans l’ordre dans lequel ils sont écrits dans le code. Premier dans le code -> Premier dans le navigateur.
Chaque bloc apparaît dans l’ordre dans lequel il apparaît dans le code HTML, de haut en bas.
<p>Premier</p>
<p>Second</p>
<p>Troisième</p>
<p>Quatrième</p>
<p>Cinquième</p>
Empilement
Un navigateur a 3 dimensions.
Chaque élément HTML appartient à une couche/un calque imaginaire.
L’ordre des piles dépend de la manière dont les éléments sont imbriqués : les éléments enfants apparaissent au-dessus de leurs parents respectifs.
- Chaque élément imbriqué apparaît au-dessus de son parent.
- Plus la hiérarchie est profonde, plus la pile est haute.
<div>
This parent is behind
<p>
This nested child appears <strong>on top</strong> of its parent
</p>
</div>
Briser le flux
Bien que le comportement par défaut du navigateur soit efficace, il peut ne pas être suffisant pour vos besoins de conception.
Plusieurs propriétés CSS permettent de perturber le flux:
heightetwidthpeuvent altérer la « fluidité » d’un élémentfloatperturbe le comportement d’un élément ainsi que son environnementpositionabsoluteetfixedpeuvent extraire un élément du fluxz-indexpeut modifier l’ordre dans lequel les éléments sont empilés