J'imagine que c'est ce "font-size: 13.4667px;" qui fait échouer crayons
sous IE7.
oui, ce que j'ai remarqué aussi.
lorsque je dis "placer une indication de taille en dur" je ne vous voulais
pas dire forcer les tailles de chaque élément sur lequel est actif le
crayon. Je voulais dire: placer sur un élément général (chez moi un
conteneur de blocs de mise en page) un rappel de taille en CSS (chez moi
l'instruction font-size:1em; ce qui ne change rien que "em" est fluide)
afin que IE7 se souvienne bien des tailles et affiche les champs éditables
de crayons correctement
j'ai résolu le problème en placant une indication de taille "en dur"
#content {font-size:1em;}
Hmm... Je ne veux pas bcp. définir la taille en dur.
L'HTML produit par crayons (vu avec Firebug) est :
<input class="crayon-active" type="text" style="color: rgb(0, 0, 0); font-size:
13.4667px; font-family: Arial,Helvetica,sans-serif; font-weight: 400;
line-height: normal; background-color: rgb(255, 255, 255); width: 170px;"
value="025. The ceramic adventure" name="content_wid4787980e781854_54859300_titre"/>
J'imagine que c'est ce "font-size: 13.4667px;" qui fait échouer crayons sous IE7.
Paolo
En principe un pixel est indivisible, il fonctionne par rapport à la résolutiion de l’écran. Il ne peut y avoir de virgule ni point.
Le seul qui s’y autorise est Flash, où tu peux avoir des virgules, mais c’est un leurre, ce sont des points (la mesure). 13 ou 14.
> Est-ce qu'il ne manque
> pas juste un ceil() quelque part lorsqu'on calcule cette taille ?
C'est où que crayons calcule la taille ?
c'est ce qu'il faudra retrouver, justement ; normalement c'est dans
action/crayons_html.php, mais il faut trouver à quel endroit
précisément se trouve ce bug
Est-ce qu'il ne manque
pas juste un ceil() quelque part lorsqu'on calcule cette taille ?
Merci pour les indications !
Bon, ce n'est pas beau, et pas propre, mais insérer
$this->styles = "font-size:1em;";
à la ligne 178 de action/crayons_html.php
donne des crayons utilisables avec IE7, et résout mon problème immédiat.
Pour mieux faire je suppose qu'il faudrait quelque part diviser le 'font-size' en deux parties, chiffre et unité, et faire le ceil ? Faut-il regarder dans js/crayons.js vers ligne 108-111 ? Je suis loin d'en être sûr !
>>> Est-ce qu'il ne manque
>>> pas juste un ceil() quelque part lorsqu'on calcule cette taille ?
Merci pour les indications !
Bon, ce n'est pas beau, et pas propre, mais insérer
$this->styles = "font-size:1em;";
à la ligne 178 de action/crayons_html.php
donne des crayons utilisables avec IE7, et résout mon problème immédiat.
Pour mieux faire je suppose qu'il faudrait quelque part diviser le 'font-size'
en deux parties, chiffre et unité, et faire le ceil ? Faut-il regarder dans
js/crayons.js vers ligne 108-111 ? Je suis loin d'en être sûr !
Je n'arrive pas à reproduire le problème, dommage. Y a-t-il un site de
la "galaxie spip" où tu observes ça ?
Si tu veux un login pour un site où tu peux voir l'effet, je peux t'envoyer le
nécessaire (?). Je ne peux pas t'envoyer IE7 par contre
Voilà c'est réglé en [18189]
Merci Paolo pour tous ces codes.
Ce qui se passait : css('fontSize'), sur MSIE, donne n'importe quoi.
Pour évaluer la taille des caractères, on va donc hacker de la manière
suivante : on insère un <span>Mi</span> dans le bloc, et on regarde sa
largeur en pixels, puis on supprime ce span. J'ai trouvé l'idée à http://www.mail-archive.com/jquery-en@googlegroups.com/msg13257.html
mais j'ai dû adapter le code
Ce qui se passait : css('fontSize'), sur MSIE, donne n'importe quoi.
Pour évaluer la taille des caractères, on va donc hacker de la manière
suivante : on insère un <span>Mi</span> dans le bloc, et on regarde sa
largeur en pixels, puis on supprime ce span.