Salut

Une petite méthode que j'applique et qui fonctionne très bien pour la plupart des navigateurs. Sachant que IE (et encore, c'est différent selon les versions) interprète le padding d'une manière différente des autres navigateurs, voilà ce que je fais si je veux :
- une marge de 10 pixels sous firefox / opéra / mozilla / etc (navigateurs basés sur gecko)
- une marge de 5 pixels sur internet explorer 6
- une marge de 15 pixels sur internet explorer 7
Voici ce que je mets dans ma CSS :
margin:10 px !important;
/margin:15px !important;
/margin:5px;
pourquoi ? le / comme premier caractère (ou l'underscore, et d'autres encore) n'est interprété que par IE, c'est à dire que les autres navigateurs vont l'ignorer. Les autres navigateurs vont donc utiliser la marge de 10 pixels.
Reste ensuite IE 6 et IE 7. Par défaut, IE 6 prend la dernière ligne comme étant la plus importante, c'est à dire que si tu mets deux lignes comme ceci :
margin:10px;
margin:5px;
bah ie 6 va prendre une marge de 5 pixels. IE 6 ne gère d'ailleurs pas le !important, contrairement à IE 7. Pour les faire cohabiter, tu mets donc la ligne concernant IE 7 avant IE 6 avec un !important à la fin, ce qui fait que IE 7 la prendra en compte.
IE 6 prendra en compte la dernière ligne. Avec ça tu résous déjà pas mal d'incompatibilités ;)