[casse-tete (pour moi)] recuperer la largeur d'un <div>
salut tout le monde !
voila, j'ai un <div> dont je connais la propriété style.left
dedans j'ai du texte qui peut etre dans n'importe quelle police et n'importe quelle taille.
je cherche la largeur de ce <div> :
- j'ai pensé multiplier la largeur des caracteres de la police par le nombre de caracteres, mais je n'arrive pas à connaitre la largeur des caracteres :(... ==> s'il y a un moyen, quel est-il :?:
- j'ai pensé passer par la propriete width de la balise directement, mais comme je ne le defini pas à l'avance, il me sort 'undefined' :(
d'autres idées :?:
Re: [casse-tete (pour moi)] recuperer la largeur d'un <di
Citation:
Envoyé par torvalds17
- j'ai pensé multiplier la largeur des caracteres de la police par le nombre de caracteres, mais je n'arrive pas à connaitre la largeur des caracteres :(... ==> s'il y a un moyen, quel est-il :?:
Tu ne peux pas connaître la largeur moyenne d'un caractère, sachant qu'un m est plus large qu'un i par exemple. La seule solution serait d'utiliser des polices à largeur fixe, ceci dit, même ainsi, ce serait du bricolage bon marché très peu fiable... Il y a une autre solution...
Citation:
Envoyé par torvalds17
- j'ai pensé passer par la propriete width de la balise directement, mais comme je ne le defini pas à l'avance, il me sort 'undefined' :(
La propriété width ne va pas en effet t'être d'un grand secours dans le cas d'une div dont la largeur n'est pas fixée à l'avance. Mais il y en a une qui répond exactement à tes besoins : offsetWidth.
Cette propriété JS te donne la largeur de ta div, scrollbar comprise si il y en a une. Si tu veux la largeur sans tenir compte de la scroolbar, utilise la propriété scrollWidth. Les résultats sont donnés en pixels (à confirmer).
Par contre, en ce qui concerne la compatibilité, je ne suis pas certain que ça passe sous tous les navigateurs. Je viens d'essayer avec IE 5 et Mozilla 1.6, ça passe. Mais il faudrait se renseigner sur les autres navigateurs. Si tu as des réponses à ce sujet, n'hésite pas à nous les communiquer.
Note : pour ceux que ça intéresse, on peut aussi récupérer les hauteurs grâce aux propriétés offsetHeight et scrollHeight