Est-il possible d'obtenir la largeur de la fenêtre en em unités à l'aide de javascript?
Je suis à la recherche d'un moyen fiable pour obtenir la largeur de la fenêtre en em unités à l'aide de javascript. J'ai été surpris de voir que jQuery ne retournera un résultat dans les mesures en pixels. Toute aide est appréciée.
- em est par rapport à la taille de vos polices. Si votre taille de la police est de 12 px, alors la largeur de la fenêtre divisée par 12 vous donnera l'équivalence em montant. Ça va dépendre de ce que la police vous voulez que ce soit par rapport à
Vous devez vous connecter pour publier un commentaire.
Cela semble fonctionner:
Voici une solution qui ne nécessite pas de jQuery, et n'exige pas explicitement la taille de police de la déclaration.
html
serait un peu correct quebody
pour em prend la racine de la taille de la police et que c'est de l'htmlPour ceux qui en ont besoin tous mis ensemble, ce code fonctionne pour moi:
Il est mis en place à l'aide de la réponse ci-dessus ajouté à la fenêtre-largeur code de test trouvé dans le rapport tutoriel.
Il est possible de le calculer, mais
em
n'est pas un "simple" appareil commepx
car elle dépend d'une sélection de la police (c'est-à-dire, une combinaison de caractères de la famille, le style (gras, italique, etc), et de la taille de la police). Bien sûr, taille de la police elle-même ne peut être que relative (par exemple, si vous donnez une police unem
,ex
, ou en pourcentage de la taille, puis le calcul despx
hauteur pour que la police est dérivé de l'élément parent de la taille).Pour obtenir le
em
la largeur de la page, vous pouvez faire la conversion comme ceci (attention: psuedocode):Simple, puisque nous savons
1em = 16px
html { font-size: 10px; }
ouhtml { font-size: 1.5em; }
entraînerait cadratin (1 em != 16px. Plus sur les développeurs de contrôle est le fait que le "standard 16px taille de la police" est définie par l'agent utilisateur, et peut être modifié par l'utilisateur à un coup de tête.