comment avoir la taille en pixel d'une chaine ?

Le
phil89
Bonjour,

J'ai besoin de connaitre la taille en pixel d'une chaine afficher à
l'écran.
Mon besoin est de rajouter des caractères 'blanc' afin de rajouter une
Ligne dans la cellule de mon tableau.

Merci d'avances de vos
idées
Philippe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sklurk
Le #775733
Mon besoin est de rajouter des caractères 'blanc' afin de rajouter une
Ligne dans la cellule de mon tableau.


<br /> ne convient-il pas ?

SAM
Le #775732
Bonjour,

J'ai besoin de connaitre la taille en pixel d'une chaine afficher à
l'écran.


ça n'a aucun sens ...

comment peux-tu savoir combien de pixels l'utilisateur a besoin ?

Mon besoin est de rajouter des caractères 'blanc' afin de rajouter une
Ligne dans la cellule de mon tableau.


Normalement le passage à la ligne se fait tout seul, non ?

Pareil : si je demande d'agrandir la police à 120, 150 ou 200%
probable que j'aurai un mot par ligne

Sinon tu fais passer à la ligne là où tu veux toi-même
<br>
ou <p>

--
sm

phil89
Le #775731
On 13 déc, 13:31, SAM wrote:

Bonjour,

J'ai besoin de connaitre la taille en pixel d'une chaine afficher à
l'écran.


ça n'a aucun sens ...

comment peux-tu savoir combien de pixels l'utilisateur a besoin ?

Mon besoin est de rajouter des caractères 'blanc' afin de rajouter une
Ligne dans la cellule de mon tableau.


Normalement le passage à la ligne se fait tout seul, non ?

Pareil : si je demande d'agrandir la police à 120, 150 ou 200%
probable que j'aurai un mot par ligne

Sinon tu fais passer à la ligne là où tu veux toi-même
<br>
ou <p>

--
sm



Mon Probleme est que mon boss souhaite que les données soient affiché
sur 2 lignes, meme si la chaine n'est pas assez grande. j'ai essayé de
padder avec des &nbsp pour forcer une deuxieme ligne blanche dans ce
cas la, mais cela ne fonctionne pas dans tous les cas .
Certains caractères n'ont pas tous la meme largeur.


Merci d'avance
Philippe


Pierre Goiffon
Le #775730
phil89 wrote:
J'ai besoin de connaitre la taille en pixel d'une chaine afficher à
l'écran.
Mon besoin est de rajouter des caractères 'blanc' afin de rajouter une
Ligne dans la cellule de mon tableau.


Mettez un exemple représentatif en ligne, votre histoire de "caractère
blanc" me semble mal partit... Mieux vaut que vous exposiez le prb
initial avec tous les éléments !

Bruno Desthuilliers
Le #775531
Mon besoin est de rajouter des caractères 'blanc' afin de rajouter une
Ligne dans la cellule de mon tableau.
Normalement le passage à la ligne se fait tout seul, non ?




Sauf si tu le forces.

Pareil : si je demande d'agrandir la police à 120, 150 ou 200%
probable que j'aurai un mot par ligne

Sinon tu fais passer à la ligne là où tu veux toi-même
<br>
ou <p>

--
sm



Mon Probleme est que mon boss souhaite que les données soient affiché
sur 2 lignes, meme si la chaine n'est pas assez grande.





SAM
Le #775530

Mon Probleme est que mon boss souhaite que les données soient affiché
sur 2 lignes, meme si la chaine n'est pas assez grande. j'ai essayé de
padder avec des &nbsp pour forcer une deuxieme ligne blanche dans ce
cas la, mais cela ne fonctionne pas dans tous les cas .


pas clair c'histoire ...

Certains caractères n'ont pas tous la meme largeur.


en effet

et je répète : que sais-tu de *ma* police d'affichage ?

Montre à ton boss ce que ça fait quand on met une police + grande.
(que vont donner tous les espaces fixes +/- inutiles)


Disons qu'on essaie de se fixer sur l'arial 12px
- que la cellule est de largeur fixe
- tu sais à peu près combien de caractères ça fait

si la chaîne mesure ce nbre de caractères ou plus
hop! tu la coupes en 2

et si la police est plus grande (ce que tu ne peux savoir) tant pis ça
sera pas comme ton boss le veux et pis voilà.


function cpeChn(chaine){
var L = chaine.length;
if(L >= 40) {
var c = Math.floor(L/2);
var c1 = chaine.substring(0,c);
c1 = c1.substring(0, c1.lastIndexOf(' '));
var c2 = chaine.substring(c1.length);
return c1 + '<br />' + c2;
}
else return chaine;
}

document.getElementById('cel1').innerHTML = cpeChn(uneChaine);


--
sm

SAM
Le #775529

si la chaîne mesure ce nbre de caractères ou plus
hop! tu la coupes en 2


Ha! ben non ! c'est le contraire qu'on veut faire :-(
puisque si elle est plus longue ça coupera tout seul

function cpeChn(chaine){
var L = chaine.length;
if(L <= 35) {
var c = Math.floor(L/2);
var c1 = chaine.substring(0,c);
c1 = c1.substring(0, c1.lastIndexOf(' '));
var c2 = chaine.substring(c1.length);
return c1 + '<br />' + c2;
}
else return chaine;
}


Maintenant, c'est sûr que ça ne peut pas être fait autrement qu'en JS ?
En PHP par exemple ...

--
sm

Publicité
Poster une réponse
Anonyme