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 :

problème de balise "hover"


Sujet :

Survol d'un élément en CSS (:hover)

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Par défaut problème de balise "hover"
    Salut!

    Je fais appel à vous après plusieurs jours de recherches infructueuses à propos d'un souci de mise en forme CSS.

    En fait, j'ai un menu qui fonctionne essentiellement grâce aux balises de listes "ul" et "li". Chaque rubrique contient des sous rubriques que je souhaite afficher uniquement lorsque je survole la rubrique principale. J'utilise donc #active:hover li {display:inline}.

    Mon soucis est que cela fonctionne très bien sous Mozilla et Opéra mais pas IE7.

    Je mets mon code à dispo pour que vous puissiez y voir plus clair.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <style>
    
    #linklist
    {
    	list-style-type:none;
    	color: none;
    	background-color:orange;
    	margin:5px;
    	position: absolute;
    	left: 40px;
    	top: 93px;
    }
    
    #active li { display: none; }
    #active:hover li { display: inline; } / Voilà le sujet de discorde avec IE7
    
    
    
    #link a
    {
    color: gray;
    background-color: none;
    width: 120px;
    display: block;
    margin: 10px 10px 0 0;
    }
    
    #link a:visited
    {
    color: yellow;
    background-color: none;
    }
    
    #link a:active
    {
    color: blue;
    background-color: white;
    width: 100px;
    }
    
    #link a:hover
    {
    color: red;
    background-color: none;
    }
    
    </style>



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <table height="516" name="left">
    <tr>
    <td background="images/milieu.jpg" width="250" height="510" align="left" valign="top">
     
    <div id="link">
     <ul id="linklist">
         <li id="active"><a href="accueil.html" id="current" target="right">Accueil</a></li>
         <li id="active"><a href="#" id="current">item 2</a>
    	<ul id="subnavlist">
    	  <li id="subactive"><a href="presentation.html" id="subcurrent" target="right">sous item1</a></li>
    	   <li><a href="expertise.html"   target="right">sous item2</a></li>
    	   <li><a href="competences.html" target="right">sous item3</a></li>
    	   <li><a href="references.html"  target="right">sous item4</a></li>
    	 </ul>
            </li>
    	<li id="active"><a href="#">item3</a>
    	   <ul id="subnavlist">
                <li id="subactive"><a href="equipe.html" id="subcurrent" target="right">sous item1</a></li>
                <li><a href="#">Subitem two</a></li>
    	    <li><a href="#">Subitem three</a></li>
    	    <li><a href="#">Subitem four</a></li>
            </ul>
    	</li>	
    <div>
    </td>
    </table>
    Est ce que quelqu'un aurait une idée pour m'aider à résoudre ce problème svp.


    Merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par titounnette Voir le message
    Mon soucis est que cela fonctionne très bien sous Mozilla et Opéra mais pas IE7.
    Et oui !!! Encore une innovation Microsoft : IE ne sait pas gérer le hover ailleurs que sur les liens, même si le hover fait partie de la spec CSS 2 depuis un paquet de temps Du coup, t'as pas d'autre choix que de faire de la bidouille en JavaScript pour surveiller l'élément survolé par la souris et afficher ou masquer les menus en fonction.

  3. #3
    Membre émérite Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Par défaut
    Sinon il y a aussi des astuces pour IE en imbriquant le menu dans un tableau mais je trouve pas ça tres propre.

    regade ici si tu trouves ce que tu veux.


  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Par défaut
    Ok!!!!

    Merci pour les conseils!
    Le javascript c'est pas mon truc mais va falloir s'y faire.
    Je vais aller faire un tour sur ton lien pop_up



  5. #5
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Citation Envoyé par titounnette Voir le message
    Mon soucis est que cela fonctionne très bien sous Mozilla et Opéra mais pas IE7.
    Citation Envoyé par _Mac_ Voir le message
    IE ne sait pas gérer le hover ailleurs que sur les liens
    Il est précisé ici que le problème apparait sur IE7. Hors s'il est vrai qu'IE6- ne gère le :hover que sur l'élément a, IE7, lui, est censé le prendre en compte correctement.

    Il y a donc un autre problème pour que le code ci-dessus ne fonctionne pas sur IE7.

    J'ai relevé quelques omissions dans le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <style type="text/css">
    
    </ul>
    	</li>
    </ul>
    </div>
    </td>
    </table>
    Une des raisons probables pour que cela ne fonctionne pas sur IE7 est qu'il soit en mode quirks pour cause d'absence de doctype.

    Maintenant il est clair qu'il faudra gérer le cas IE6-
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Par défaut
    Salut candygirl,

    D'une part, merci pour la correction du code. par ailleurs, même en ayant oublié le doctype, cela ne fonctionne pas.
    Que faire??????

  7. #7
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Citation Envoyé par titounnette Voir le message
    même en ayant oublié le doctype, cela ne fonctionne pas.
    C'est justement l'absence de doctype qui peut faire que cela ne fonctionne pas sur IE7. Ajoute un doctype complet et crrecte tout en haut de ton document et ton menu devrait se dérouler sur IE7.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Par défaut
    Merci candygirl!!!!!!!!

    Ca fonctionne maintenant!!!!!

    Merci beaucoup

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    J'imagine que le doctype influence le comportement du parseur et du moteur HTML

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sur Request.ServerVariables("QUERY_STRING"
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/03/2005, 11h47

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