Le symptôme : colonne de droite 'descend'
Lorsqu'on positionne 2 colonnes l'une à côté de l'autre, souvent avec float:left pour celle de gauche (éventuellement float:right pour celle de droite) on a la désagréable surprise en ie (et parfois sur Opera) que la colonne de droite descende en-dessous de la colonne de gauche au lieu de rester à côté.
Cela semble aléatoire (la moitié du temps si on redimensionne) et ne se produit qu'avec des largeurs en pourcentages.
La raison probable : erreur dans la façon d'arrondir
Il est très probable que le développeur de navigateur a mal arrondi lorsqu'il transforme les % en pixels, et a pris l'arrondi au lieu de la valeur entière.
Ainsi, si le calcul donne 49.7, il prend 50 au lieu de 49 et alors il manquera 1px ce qui provoque le passage de tout le bloc à la ligne suivante...
Comment y remédier
Très simple une fois qu'on a compris : enlever 0.01% à votre largeur.
Au lieu de 50%, 49.99%, au lieu de 30%, 29.99% etc...
On résout le problème en ne changeant quasiment pas l'apparence souhaitée.
programmable en php
En php, cela donne :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { $largeur='49.99%'; } else { $largeur='50%'; }
et dans la feuille de style, inclure ...width:$largeur...
Partager