2011-05-27 2 views
2

J'ai un div avec une largeur fixe, mais le texte à l'intérieur (nom de quelqu'un) va varier. Y at-il un moyen de redimensionner dynamiquement/letter-spacing le texte pour s'adapter parfaitement dans le div?Dynamiquement redimensionner/espace texte pour s'adapter div

Cependant, je ne peut pas utiliser javascript comme ce script sera utilisé dans un convertisseur PDF HTML, qui ne lit pas le javascript

text-align:justify ne fonctionnera pas comme si le texte est trop long pour la div, il ne le redimensionnera pas. Je trouve text-align:justify ne fonctionne que pour les paragraphes etc.

Le nom ne peut pas aller sur deux lignes

+0

Le nom doit-il tenir sur une seule ligne? – tjm

+0

@tjm Oui, c'est vrai, le nom doit contenir tout sur une ligne – Curt

+1

Il y a 'text-align: justify' mais je crois que cela fonctionne quand il y a plus d'une ligne. Autre que cela, probablement pas avec CSS simplement. Vous pouvez les centrer, cela pourrait être mieux que de les laisser alignés à gauche. – alexcoco

Répondre

0

Vous devez utiliser:

Graphics graphics = this.CreateGraphics(); 
SizeF textSize = graphics.MeasureString("How long am I?", this.Font); 

ou

Size textSize = TextRenderer.MeasureText("How long am I?", font); 

TextRenderer est moins précis, mais Graphics vous oblige à utiliser un formulaire Windows - dans votre cas, vous pouvez avoir un formulaire avec une seule zone de texte dans laquelle vous placez le texte à mesurer puis lisez retour, mais TextRenderer est plus simple. En utilisant ce qui précède, vous pouvez écrire une fonction qui a ajusté la taille de police jusqu'à ce que la longueur désirée ait été atteinte.

Il s'agirait alors de définir le style sur le texte envoyé au navigateur pour refléter cette taille de police.

+0

Tout est possible. Je pourrais boucler chaque lettre en la mettant dans un div flottant à gauche avec une largeur et un ensemble de taille de police. Mais cela pourrait être buggé. – Curt

+2

Comment allez-vous faire une boucle sans javascript? – BonyT

+1

Fonction ASP.NET. Vérifiez mes tags :) – Curt

Questions connexes