IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

menu déroulant décalé (IE7)


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Par défaut menu déroulant décalé (IE7)
    Bonjour.

    J'ai un menu déroulant entièrement en CSS qui s'affiche correctement sous firefox mais qui est complètement décalé sous IE7.
    C'est un menu déroulant horizontal que j'ai repris sur le site.

    Sauriez-vous m'indiquer ce que je dois changer pour ne plus être embêté par ce décalage ?

    Mon site est celui-ci et le menu déroulant est sur le bouton "les équipes".

    D'avance merci.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Je vois plusieurs erreurs dans ton code.

    Déjà, tu utilises un id qui se répète : menu. Or, un id est, comme son nom l'indique, un identifiant, ton unique.

    Ensuite, il faut savoir que ce menu déroulant ne fonctionne pas sur IE6 (et 7 ?) qui ne connaît pas la syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    li:hover > .sousMenu { display: block; }
    Enfin tu mets ton menu déroulant en position absolue, mais par rapport à quoi ? Ce sont les sous-menus qui doivent être en absolu.

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Par défaut
    Tout d'abord merci puisque j'ai résolu une partie de mon problème.

    En mettant le sous-menu en absolu mon en-tête de colonne retrouve sa place dans IE7. Le seul problème c'est que le sous-menu n'a pas suivi et il reste décalé.

    Pour ce qui est de l'id, "menu" est unique ainsi que "menuderoulant".

    Je tiens à préciser que je ne connais pas grand chose au css et pour ta question :
    Citation Envoyé par Bisûnûrs
    Enfin tu mets ton menu déroulant en position absolue, mais par rapport à quoi ? Ce sont les sous-menus qui doivent être en absolu.
    je n'ai aucune réponse sinon que cela me plaçait bien mon en-tête de menu sous firefox, mais j'avoue qu'il n'y a aucune logique dans ma démarche.

    Tu as aussi vu plusieurs erreurs. Quel genre d'erreur s'agit-il ?

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par jojodivx
    Pour ce qui est de l'id, "menu" est unique ainsi que "menuderoulant".
    Dans ton code HTML, menu n'est pas unique :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td width="100" height="33" align="center" valign="middle" id="menu"><a href="index.html">Accueil</a></td>
    <td width="100" height="33" align="center" valign="middle" id="menu"><a href="club.html">Le club</a></td>
    <td width="100" height="33" align="center" valign="middle" id="menu">

    Pour corriger le placement du sous-menu, rajoute
    à ton menuDeroulant et
    à ton sous-menu.

    Ensuite, il faut savoir que IE ne reconnaît pas non plus la pseudo-class hover sur autre chose que les liens, donc il ne change pas le background au suvol avec cette syntaxe :

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Par défaut
    En fait j'ai enlevé le "top" et rajouté le "left" et tout rentre dans l'ordre

    Maintenant question bonus ^^ :
    Le premier choix de mon menu déroulant est vide avec une hauteur de 5px, ce qui me permet d'avoir mon premier lien visible juste en-dessous de mon bouton.
    Le problème c'est que IE7 n'en tient pas compte. Ma solution étant du bricolage je pense qu'il en existe d'autres mais je ne vois pas trop comment faire.

    Enfin vous m'avez déjà grandement aidé et promis je change, presque, tous mes "id" par des "class" ^^.

Discussions similaires

  1. Menu déroulant sur IE7
    Par SpIrIt505050 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/02/2009, 22h22
  2. Menu déroulant s/IE7: n. cliquable en partie
    Par igi10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/02/2008, 16h08
  3. Menu déroulant décalé
    Par rems033 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/12/2007, 10h50
  4. Menu déroulant sous IE7
    Par aragorn23 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 02/10/2007, 08h30
  5. Menu déroulant sous IE7 ne marche pas
    Par Jo dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 07/02/2007, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo