En CSS, choisir l'unité appropriée pour obtenirun design responsive,etet l'utilisabilitéest crucial.

px、emetremsont les trois unités de longueur les plus couramment utilisées. Leur principale différence réside dansle repère de référencequi est différent.


1. px (Pixel - Pixel)

pxest uneunité absolue(sur les écrans). Elle représente un point pixel physique à l'écran.

  • Caractéristiques: taille fixe, ne change pas avec les paramètres du navigateur ni avec la taille de police de l'élément parent.
  • Avantages: précis, facile à contrôler, adapté aux scénarios nécessitant un alignement "au pixel près" (comme les lignes de bordure, les petites icônes).
  • Inconvénients: manque de flexibilité, peu propice à une mise en page réactive. Si l'utilisateur agrandit la police dans le navigateur, les mises en page utilisantpxrisquent de ne pas s'ajuster en conséquence.

2. em (Relatif à l'élément - Unité relative)

emest uneunité relative, et sa référence est celle de l'élément actuelou de l'élément parenttaille de police (font-size).

  • Règles de calcul:
  • Si utilisé surfont-size, la référence est, pour l'élément parent, lataille de police.
  • S'il est utilisé sur d'autres propriétés (telles quewidth、padding、margin), la référence est lataille de policepropre de l'élément courant.
  • Inconvénient : effet d'empilement composé. Si plusieurs couches sont imbriquées et utilisent toutesem, le calcul devient très complexe.

Exemple :
Si l'élément parent est20px, et que l'élément enfant est défini surfont-size: 1.5em;, alors la taille réelle de l'élément enfant est .


3. rem (Root em - Unité relative à la racine)

remest aussi uneunité relative, mais elle fait uniquement référence à l'élément racine(c'est-à-dire la<html>balise) taille de police.

  • Règle de calcul: Quel que soit le niveau d'imbrication des éléments,1remest toujours égal à<html>defont-size。
  • Avantages:
  • Prévisibilité élevée: Éviteemle problème d'empilement et d'imbrication de em.
  • Adapté au responsive: Il suffit de modifierhtmlla taille de police de l'élément racine, et la mise en page de toute la pagerems'adaptera proportionnellement.
  • Valeur par défaut: La taille de police racine par défaut de la plupart des navigateurs est16px, donc par défaut1rem = 16px。

Tableau comparatif des différences fondamentales

Unit Type Référence Scénarios applicables
px Unité absolue Pixel physique d'écran Bordures, ombres, éléments qui n'ont pas besoin d'être mis à l'échelle
em Unité relative Taille de police de l'élément courant/parent Mise à l'échelle des composants locaux (par ex., les marges des boutons changent avec la taille du texte)
rem Unité relative <html>Taille de police de l'élément racine Mise en page globale, espacement, typographie adaptative

Résumé et recommandations

  1. Premier choix :remPour la typographie et la mise en page: Cela garantit que votre page web peut s'adapter harmonieusement lorsque les utilisateurs ajustent la taille de police du navigateur.
  2. Deuxième choix :pxPour les détails fixes: Par exemple,1pxles lignes de bordure, que vous ne voulez pas voir devenir floues ou disparaître à cause de la mise à l'échelle.
  3. À utiliser avec parcimonie :emUniquement pour un usage local: N'envisagez d'utiliser em que lorsqu'un Padding ou Margin d'un élément doit évoluer de manière synchrone avec la taille du texte de l'élément (par ex., des boutons adaptatifs).em。

Un petit conseil :
Pour faciliter le calcul, de nombreux développeurs définissenthtmlla taille de police de l'élément racine à62.5%(c'est-à-dire, ). Ainsi, lors de l'écriture du code,1.4remcorrespond directement à14px, simple et intuitif.