28173 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai un petit souci avec mon CSS, j'ai une feuille qui fonctionne très bien avec IE et FF. Le problème survient avec IE7 qui semble interpréter le !important comme FF.

Du coups, quand je fais un margin-left:-40px pour avoir un menu au même niveau sur IE et FF, ben IE me met encore plus en retrait, du coup je dois faire un style pour lui tout seul qui contient un margin-left:auto; pour que tout soit beau !

J'ai donc ce petit bout de code en haut de ma page :
<link href="default.css" rel="stylesheet" type="text/css"/>
<!--[if IE 7]> 
<style type="text/css">
#Menu ul{
 margin-left:auto;
}
</style>
<![endif]-->


Mais hélas, cela ne semble pas fonctionner, pourtant si je remplace mon code CSS par du HTML il s'affiche.

Et logiquement, le CSS devrait oublier les paramètres de ma feuille et utiliser ceux que je spécifie plus bas non ?

Merci d'avance !
Modifié par Hacken (13 Jan 2007 - 00:10)
Bonjour,

Le comportement d'IE 7 est normal. Ta déclaration n'écrase pas la précédente puisque la précédente est "!important".

Ceci dit, il faut que tu revoies totalement ta manière de faire. Pour avoir le même espace à gauche de ta liste sous les différents navigateurs, il y a bien plus simple, comme indiqué dans la faq.
Merci Julien,

En effet quand j'y pense maintenant c'est très bête. Je ne savais pas que les Gecko mettaient 40px de padding.

Ou est-ce que ce genre de chose s'apprennent ?

A+