Taille de police adaptée au contenant
Résolu
Flachy Joe
Messages postés
2303
Statut
Membre
-
Flachy Joe Messages postés 2303 Statut Membre -
Flachy Joe Messages postés 2303 Statut Membre -
Bonjour,
voila mon souci, par défaut la taille d'une "boite" s'adapte au texte qu'elle contient. Je voudrait faire l'inverse c'est à dire adapter la taille du texte pour qu'il entre dans une boite donnée.
La taille de la boite étant proportionnelle à celle de la page, j'imagine qu'il va falloir calculer ça dynamiquement en JS...
Est-ce qu'il existe un outil tout fait ?
Merci !
voila mon souci, par défaut la taille d'une "boite" s'adapte au texte qu'elle contient. Je voudrait faire l'inverse c'est à dire adapter la taille du texte pour qu'il entre dans une boite donnée.
La taille de la boite étant proportionnelle à celle de la page, j'imagine qu'il va falloir calculer ça dynamiquement en JS...
Est-ce qu'il existe un outil tout fait ?
Merci !
A voir également:
- Taille de police adaptée au contenant
- Comment réduire la taille d'un fichier - Guide
- Changer police facebook - Guide
- Police aptos - Accueil - Bureautique
- Police instagram - Guide
- Reduire taille image - Guide
4 réponses
et en mettant la taille du texte qui s'affiche dans ta boite en " % " via une css ? ça devrait aller non ...
Négatif, le pourcentage fait référence à la taille de la police du conteneur parent.
Merci quand même.
Merci quand même.
On est jamais mieux servi que par soit même ;-)
Voila donc ce que j'ai pondu :
Remarque :
Ça marche aussi bien avec des dimensions en pourcentage...
Voila donc ce que j'ai pondu :
<html>
<head>
</head>
<body>
<div id="div1" style="border: 1px solid black; width:250px; height : 50px">
Du texte !
</div>
<div id="div2" style="border: 1px solid black; width:250px; height: 50px;">
Encore du texte !
</div>
<script type="text/javascript">
function _div_ajuster_(){
div = document.getElementById('_div_ajuster_');
if (div == null){
div = document.createElement('div');
div.id = '_div_ajuster_';
div.style.position='absolute';
div.style.visibility='hidden';
div.style.fontSize='10px';
div.style.width = '';
div.style.height = '';
document.body.appendChild(div);
}
return div;
}
function ajuster_largeur(id){
div1 = document.getElementById(id);
div2 = _div_ajuster_();
div2.innerHTML = div1.innerHTML;
w_init = div2.clientWidth;
t_init = div2.style.fontSize;
w_final = div1.clientWidth;
t_final = parseInt(t_init) / w_init * w_final;
div1.style.fontSize = t_final + "px";
}
function ajuster_hauteur(id){
div1 = document.getElementById(id);
div2 = _div_ajuster_();
div2.innerHTML = div1.innerHTML;
h_init = div2.clientHeight;
t_init = div2.style.fontSize;
h_final = div1.clientHeight;
t_final = parseInt(t_init) / h_init * h_final;
div1.style.fontSize = t_final + "px";
}
function ajuster(id){
div1 = document.getElementById(id);
if (div1.style.height == '')
ajuster_largeur(id);
else if (div1.style.width == '')
ajuster_hauteur(id);
else {
div2 = _div_ajuster_();
div2.innerHTML = div1.innerHTML;
t_init = div2.style.fontSize;
w_init = div2.clientWidth;
w_final = div1.clientWidth;
h_init = div2.clientHeight;
h_final = div1.clientHeight;
t_larg = parseInt(t_init) / w_init * w_final;
t_haut = parseInt(t_init) / h_init * h_final;
div1.style.fontSize = Math.min(t_larg, t_haut) + "px";
}
}
ajuster('div1');
ajuster('div2');
</script>
</body>
</html>
Remarque :
Ça marche aussi bien avec des dimensions en pourcentage...