Ma compréhension de la lecture de fils comme celui-ci est que le point de ems est de définir toutes les mesures dans votre page Web, par la taille de police de base , qui peut être définie par votre navigateur.
Par exemple, dans Chrome, vous pouvez le faire en allant settings -> show advanced settings -> web content -> font size: very large
. Je pourrais le faire si j'utilisais un grand écran haute résolution, qui était loin.
J'ai créé un plongeur qui montre la différence entre ems et px dans le dimensionnement.
#div1 {
width: 320px
}
#div2 {
width: 20em;
}
Si dans mon navigateur, je définis la taille de la police sur moyenne, ces divs seront de la même taille, la taille de la police de base étant de 16 pixels, donc 20 em = 320 pixels.
Cependant, lorsque je change la taille de la police de mon navigateur en très grand, nous pouvons voir que la div mesurée en ems a augmenté de taille.
Cependant, cet effet sera annulé si je définis la taille de police dans la balise body par exemple.
body {
font-size: 16px;
}
Parce que maintenant mon CSS remplace la taille de police définie par le navigateur.
Je comprends qu'ems aurait été important à l'époque des navigateurs plus anciens, où le zoom sur la page ne ferait que redimensionner les polices. Mais de nos jours, les navigateurs modernes augmentent à la fois les pixels et les polices, ce qui rend le problème de zoom sans objet.
En regardant autour du web - beaucoup de sites font la taille de la police dans leur ensemble balise body.
Par exemple, Stack Overflow définit la taille de police à 13 pixels dans la balise body. La définition de la taille de la police dans mon navigateur n'affecte en rien la disposition de Stack Overflow.
Les résultats de recherche Google ne le font pas.
(ces deux captures d'écran prises avec une taille de police chromée très grande et un zoom à 100%).
Donc, vous pourriez peut-être affirmer que la définition de la taille de la police dans la balise body est une mauvaise idée car elle empêche les propres paramètres d'accessibilité d'un utilisateur. Mais étant donné que l'utilisateur peut zoomer pour augmenter les tailles (ce qui augmentera proportionnellement tous les pixels) - cela ne semble pas être un vrai problème.
body { font-size: XYZ; }
utilisation d'une feuille de style utilisateur avecbody { font-size: ZYX !important; }