Largeur de pixel du caractère monospace
Je me demande, est-il possible de calculer la largeur en pixels d'un caractère dans une police à espacement fixe?
Je suis en utilisant des polices à espacement fixe car j'ai besoin de tous les personnages occupent la même largeur dans mon DIV, mais je suis pas sûr de la façon d'obtenir de manière fiable les pixels de largeur. J'ai besoin de fixer la largeur afin d'effectuer des calculs en JavaScript.
Voici mon css:
font-family: monospace;
font-size: 15px;
Est-ce possible?
source d'informationauteur TGH | 2013-03-22
Vous devez vous connecter pour publier un commentaire.
La meilleure façon que je peux penser pour ce faire, est de créer une envergure hors de l'écran (
position: absolute; top: -100px;
) avec un caractère unique. Ensuite, vous pouvez mesurer la largeur de la durée pour obtenir la largeur de 1 caractère dans la police à chasse fixe. Assurer lapadding
est fixé à0px
sur la durée, toutefois, comme cela est inclus dans la largeur.MODIFIER:
Si vous n'avez besoin que d'une approximation, la
ex
unité est souvent utile.1ex
est la hauteur d'un minuscule "x". C'est souvent d'environ la même que la largeur. Mais il n'est pas exact.Je ne suis pas sûr qu'il est possible d'être absolument sûr de la largeur, ou même hauteur, d'une lettre, Monospace ou autrement, à travers toutes les plateformes. le PX suffixe sur une taille de police n'a même pas de représenter la réalité de pixels sur l'écran (prendre un coup d'oeil ici pour plus d'informations).
Je soupçonne que le seul moyen serait d'utiliser une largeur fixe pour la durée de chaque personnage.
D'intérêt, je suis curieux de savoir pourquoi vous avez besoin d'une largeur fixe de lettres. Pouvez-vous partager un JS Fiddle?