Problème de menu sous IE <= 7

Eléphant du PHP | 428 Messages

10 avr. 2010, 22:41

Bonjour,

J'ai réalisé il y a quelque temps un menu php/css avec sous menu qui fonctionne très bien sauf sous IE6 (pas testé avec IE5.5).
En effet, au mieux d'avoir un menu float left comme ceci : MENU1 | MENU2 | MENU3 | MENU4

J'ai un menu:
MENU1
MENU2
MENU3
MENU4

J'aimerai simplement que les éléments se mettent l'un à côté de de l'autre.
De plus le centrage des éléments du menu ne fonctionne pas : display:-moz-inline-stack; display:inline-block; zoom: 1; *display: inline;
Avez vous une solution ?

J'ai pris les parties de mon code css qui pourrait être incriminées.

Code : Tout sélectionner

.menu4 { font-family: Verdana, Helvetica, sans-serif; font-size:14px; position:relative; background:transparent; height:30px; width: auto; text-align:left; display:-moz-inline-stack; display:inline-block; zoom: 1; *display: inline; } .menu4 ul { padding:0; margin:0; list-style-type: none; } .menu4 ul li { float:left; position:relative; } .menu4 ul li a, .menu4 ul li a:visited { display:block; text-decoration:none; width:auto; height:30px; padding-left:30px; padding-right:20px; line-height:29px; color:#ffffff; text-transform: uppercase; font-weight: bold; } .menu4 ul li ul { visibility:hidden; position:absolute; top:0; left:0; height:0; overflow:hidden; }
Modifié en dernier par visualight le 11 avr. 2010, 19:24, modifié 1 fois.

Eléphant du PHP | 428 Messages

11 avr. 2010, 19:23

Bon, je suis parvenu à centrer les éléments de mon menu dans le DIV mais le problème que le éléments du menu ne se mettent pas l'un à côté de l'autre reste une énigme.

Pour centrer les éléments du menu, j'utilise l'élément déprécié _width:0px;
mais ça marche...

Reste l'inconnue : les éléments se mettent l'un en dessous des autres et non l'un à coté des autres.

J'ai essayé :

- de mettre un float:left; dans le .menu4 ul li a et .menu4 ul
- de mettre un display:inline un peu partout
- de commenter des parties de code ... mais rien à faire

Avez vous une idée ?

Code : Tout sélectionner

.menu4 { font-family: Verdana, Helvetica, sans-serif; font-size:14px; position:relative; background:transparent; height:30px; width: auto; _width:0px; text-align:left; display:-moz-inline-stack; display:inline-block; zoom: 1; *display: inline; } .menu4 ul { padding:0; margin:0; list-style-type: none; } .menu4 ul li { float:left; position:relative; } .menu4 ul li a, .menu4 ul li a:visited { display:block; text-decoration:none; width:auto; height:30px; padding-left:30px; padding-right:20px; line-height:29px; color:#ffffff; text-transform: uppercase; font-weight: bold; } .menu4 ul li ul { visibility:hidden; position:absolute; top:0; left:0; height:0; overflow:hidden; }
Merci,
raph

Mammouth du PHP | 661 Messages

12 avr. 2010, 01:13

les douces joies de IE 6 ^^ ...

Eléphant du PHP | 428 Messages

12 avr. 2010, 12:18

Bon, vu le succès de ma demande et le paradoxe internet explorer, j'ai opté pour une solution qui redirrige l'utilisateur vers la page de téléchargement d'internet explorer 8 (pour les utilistaeurs d'IE 5,6,7). Il n'auront cas avoir un système à jour ... que diable ;)
// On inclus le menu de navigation avec vérification du navigateur (si inférieur à IE8 => erreur: redirection)
            if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) {
                
                if (intval(substr($_SERVER['HTTP_USER_AGENT'], strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')+5)) > 7) {
                    include ('.dirsys/inc/menu.inc.php');
                } else { 
                    echo '<script type="text/javascript">window.location= "http://www.microsoft.com/windows/internet-explorer/default.aspx"</script>';
                }
            } else {
                include ('.dirsys/inc/menu.inc.php');
            }
A+
raph

Jana
Invité n'ayant pas de compte PHPfrance

27 mai 2010, 13:08

Salut, je sais pas si ca va t'aider , mais j'avais un probleme similaire, qui s'est reglé en cochant l'affichage de compatibilité dans l'onglet sécurité d'explorer...Neamoins au diable avec microsoft....