détecter le navigateur taille de la police
Est-il possible de détecter le navigateur taille de la police? Aussi est-il possible de dedect nouvelle taille de la police lorsque l'utilisateur change la taille de la police dans le menu de sélection?
Merci beaucoup pour tout le monde aide.
En ce qui concerne meilleur.
Vous devez vous connecter pour publier un commentaire.
Bien, c'est possible, mais mon corbeau assis sur une boule de cristal me dit de ne pas vous dire comment, mais pour vous demander ce que vous voulez atteindre. Très probablement, vous voulez faire une page pour rechercher le bon quelle que soit la taille de police est. Pour cela, je vous recommande le Des unités de soutien
em
,ex
, etc.En quelque sorte, mais c'est rarement une bonne idée. En supposant <body> n'a pas de taille de police définie et il n'y a pas d'interférer règles (comme " corps div’):
vous donne la taille en pixels de cadratin (1 em.
Pas directement, mais vous pouvez interroger un mesureur de fonction comme ci-dessus chaque tellement souvent. Sur IE vous pourriez accrocher le cocher une CSS expression(), comme ces recalculer lorsque la taille de la police est modifiée (parmi beaucoup d'autres moments), mais c'est probablement pas la peine (vous auriez encore besoin de le poller pour les autres navigateurs et d'expression() est obsolète de toute façon).
<html>
élément) a unfont-size
de 100%. Si vous savez que votre élément racine de la taille de la police, vous pouvez calculer l'utilisateur de la taille de la police en mettantsize = size * whateverMyCssDefinesAsBaseSize / 100
à la fin de @bobince du test.Pour autant que je sache, il n'existe pas une façon de le savoir. Vous venez de prendre la taille par défaut est de 16 pixels, ce qui est la norme.
La meilleure pratique est de définir toutes les tailles de police dans les ems qui à l'échelle en conséquence à la base taille de la police.
La plupart des gens mis de la police de base à 10 pixels qui rendent le travail avec ems plus facile.
Exemple
16px = cadratin (1 em
Qui serait égal à 32px
10px = 0.625 em
Qui serait égal à 20px;
J'espère que cela a aidé.
La réponse courte est non. Cependant, je suis à soupçonner que vous souhaitez placer les différentes tailles sur des éléments différents en fonction de l'utilisateur taille de la police. Si oui, vous voudrez peut-être prendre un coup d'oeil à la spécification de règles CSS dans "em", qui est définie comme étant par rapport à la taille de la police actuelle.
j'avais besoin de la même chose.
ici, j'ai trouvé la meilleure réponse.
https://developer.mozilla.org/en-US/docs/DOM/window.getComputedStyle
Ma motivation pour la surveillance de la taille du texte des modifications est de changer dynamiquement la hauteur (ou largeur) des éléments de la page entière ne nécessite pas de fenêtre du navigateur, les barres de défilement. En général, lorsque vous faites cela, vous répondez à l'événement resize, mais les changements de taille de police peut également affecter vos calculs. Je n'aime pas tellement ce que les effectifs de la police la taille de l'est, j'ai juste besoin de savoir quand il change.
Voici quelques jQuery code que j'utilise. Ceci est similaire à la solution proposée par bobince.
J'ai une fonction de redimensionnement qui sera mise à jour à la hauteur d'une div, etc.
Si c'est une application ajax que les sondages pour les changements d'emplacement.de hachage, vous pouvez utiliser la même interrogation fonction de la taille du texte changer.
Ici est quelque chose que j'ai trouvé qui fonctionne bien pour détecter le document actuel de la famille de police dans IE:
document.documentElement.currentStyle["fontFamily"]
dans Firefox/Opera:
Il existe une méthode appelée getComputedStyle qui est censé renvoyer le style css d'un élément particulier donné, mais je n'ai pas trouvé un moyen d'obtenir un retour sur l'ensemble du document encore.
Espère que cela aide un peu!
getComputedStyle(document.documentElement)
. FairegetComputedStyle(document)
ne marchera jamais parce que l'attribut de style est une partie de la HTMLElement interface. Et, le document n'a pas hériter des propriétés de la HTMLElement de l'interface: c'est seulement un nœud, pas un pointeur. Ainsi, le nœud de document n'a aucun style lui-même, et vous ne pouvez donc pasgetComputedStyle
sur elle.