Ajuster la taille de la police pour s'adapter à un div sur une seule ligne
Question :
Comment puis-je redimensionner dynamiquement la police d'un élément de texte pour m'assurer qu'il tient dans une balise div spécifiée, l'empêchant ainsi de s'enrouler sur plusieurs lignes ?
Réponse :
Solution CSS :
CSS seul ne peut pas réaliser cette fonctionnalité.
Solution JavaScript :
Méthode 1 : Utiliser Javascript et jQuery
- Créez un div caché avec des propriétés CSS similaires à celles de l'élément de texte d'origine (par exemple, font-family, position : absolue, visibilité : cachée).
- Copiez le texte de l'élément d'origine vers le div caché.
- Définissez une taille de police initiale pour l'élément caché. div.
-
Entrez une boucle qui :
- Obtient la largeur du div caché.
- La compare à la largeur souhaitée du div d'origine.
- Ajuste la taille de la police du div caché par un facteur ou une unité défini jusqu'à ce que la largeur souhaitée soit rencontré.
- Définissez la taille de police calculée sur l'élément de texte d'origine.
Méthode 2 : Optimisation de la boucle While
Pour minimiser le nombre d'itérations de boucle :
- Définissez une police de départ size.
- Obtenez la largeur du div caché.
- Calculez le rapport de largeur entre le div d'origine et le div caché.
- Ajustez la taille de la police du div caché en ce facteur au lieu d'incrémenter ou de décrémenter d'une unité.
- Testez la largeur du masqué div.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn