Ce que la dépendance entre la police la taille et la largeur du char de police à espacement fixe?
Ce que la dépendance entre la police la taille et la largeur du char de police à espacement fixe? Dans mon web-application que j'utilise le "courier new" de la police. Je veux savoir, ce que vraiment la longueur en pixels de la chaîne? Si je sais css font-size propriété, comment peut-il m'aider à savoir vraiment la longueur de la chaîne? Grâce
- C'est quelque chose que JavaScript peut déterminer si vous ne trouvez pas une autre solution. Fondamentalement, il vous suffit de mettre la chaîne à l'intérieur d'un vide et non stylé
div
, et puis vous interrogez ladiv
de l'élément de taille pour obtenir la largeur de il. - oui, j'y ai pensé... Cependant, j'ai essayer de trouver plus d'élégance de la solution.
Vous devez vous connecter pour publier un commentaire.
Chaque police à espacement fixe ses propres ratio entre la longueur de pixel et la taille de police. Mais puisque nous, l'idéal serait d'exprimer famille de polices de plusieurs options pour donner le navigateur une large gamme pour satisfaire le style (dans le cas où il n'a pas la police requis), cette méthode peut être imparfaite, même si vous trouvez le rapport. Qui est-à-dire que "Courier New" a le même espacement/de dimensionnement/... sur un appareil que sur un autre?
Un moyen sûr de dire que c'est à l'utilisation de JavaScript, clone de l'élément et de vérifier la taille des valeurs à la volée.
prendre un coup d'oeil à ce violon pour un exemple de cette
http://jsfiddle.net/zUFwx/ (références de code jQuery)
<div>
élément, et non le texte. Si vous modifiez le texte, la taille ne change pas, mais si vous modifiez la taille de l'image sur laquelle il s'exécute, il n'.La dépendance entre la taille de police et la largeur des caractères (glyphes) dans une police à espacement fixe est défini par le concepteur de la police.
Par exemple, sur Windows 7, la largeur d'avance de glyphes de la police de caractères Courier New est 1229 unités. Depuis la hauteur de la police est de 2048 unités, de la largeur d'avance est donc très, très près de 60% de la taille de la police, de sorte que dans le CSS,
0.6em
serait une quantité suffisante pour la largeur des glyphes à toutes fins pratiques.Dans Lucida Console, de la largeur d'avance est presque le même: 1234 unités. Mais dans Consolas, d'autre part, il est beaucoup plus petit, 1126 unités.
Les conclusions dépendent donc du contexte, en particulier sur la question de savoir si votre application est destinée à être exécuté uniquement dans les situations où une police spécifique est disponible (et vos paramètres ne seront pas ignorées par les utilisateurs).
pardonnez-moi si je suis en train de faire chose de complètement faux comme je l'ai été pour un certain temps maintenant, mais c'est la première fois que j'ai contribué.
C'était quelque chose qui était sur écoute-moi et @Stephen James a vraiment cloué pour ce que j'étais en train de réaliser.
J'ai eu quelques problèmes à la faire fonctionner et a constaté que le CSS dans votre violon a été incorrect
CSS:
J'ai commenté tout mais la position dans le sizingClone classe que je l'ai trouvé inutile.
Cela fonctionne à présent parfaitement