Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment avoir la taille en pixel d'une chaine ?

7 réponses
Avatar
phil89
Bonjour,

J'ai besoin de connaitre la taille en pixel d'une chaine afficher =E0
l'=E9cran.
Mon besoin est de rajouter des caract=E8res 'blanc' afin de rajouter une
Ligne dans la cellule de mon tableau.

Merci d'avances de vos
id=E9es
Philippe

7 réponses

Avatar
Sklurk
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 ?

Avatar
SAM
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

Avatar
phil89
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


Avatar
Pierre Goiffon
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 !

Avatar
Bruno Desthuilliers
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.


<td>debut de la chaine<br />suite de la chaine.</td>



Avatar
SAM

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

Avatar
SAM

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