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 :

Cibler un élément seulement si 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 Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Cibler un élément seulement si hover
    Bonjour,

    je m'occupe d'un menu.
    Normalement, si on survole un item de niveau 1 et qu'un sous-menu existe, celui-ci est affiché. De même si on survole un item du sous-menu (menu de niveau 2) et qu'un sous-menu existe, celui-ci est affiché (menu de niveau 3).
    Mon souci est qu'il n'est pas affiché seulement si on survole l'item de niveau 2 mais dès qu'on survole l'item de niveau 1. Le problème est clair sur ce codepen : http://codepen.io/laurentsc/pen/KaweLR

    Code html : 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
     
    <nav class="page">
     
    <ul class="menu">
     
    <li class="position  plus"><a  href="#">aide </a>
    	<ul class="displaynone">
    	   <li ><a href="#">aide1 </a></li>
    	   <li ><a href="#">aide2 </a></li>
    	   <li class=" plus"><a href="#" >aide3</a>
                <ul id="IPaddress displaynone">
                  <li ><a href="#">aide31 </a></li>
                  <li ><a href="#">aide32 </a></li>
                </ul>
              </li>
            </ul>
      </li>
     
    </ul>
     
    </nav>

    Code css : 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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    .page{
      font-size : 1.44em;
     width:20%;
    }
     
    .menu {
    	background:lightgreen;
    	 border: 1px solid #48B;
    	   line-height:2em;
      height:6.5em;
      font-size:0.8em;
    }
    /* Barre de menu principale */
    .menu a {
      display:block;
      margin:0;
      padding:0.5em;
      font-weight:bold;
      text-decoration:none;
      color:#00F;
      position : relative;
    }
    .menu  ul.displaynone{
      display:none;
      position:absolute;
      margin:0;
      padding:0;
      left:0;
      top:3.0em; /* hauteur du bandeau principal = hauteur + padding */
      line-height:1.0em;
    }
     
     
    .menu li {
      float:left;
      position:relative;
      list-style: none;
    }
    /* modification lien sous menus */
    .menu ul li a {
      color:#666;
      font-weight:normal;
    }
    .menu li:hover > a {
      text-decoration:underline;
    }
    .menu li:hover > ul{
      display: block;
      /* propriétés suivantes mises sur le HOVER, bug sur IE7 */
      background: #FEFEFF;
      border:solid 1px #48B;
    }
     
     
     
    /* position et dimension des sous menus */
     
    .menu ul li {	
      margin:0;
      width:10.5em;
    }
     
     
    .menu ul ul {
      left:100%; /* décalage de la largeur des LI 100% permet de ne pas gérer la largeur des LI */
      top: -1px; /* tient compte de la largeur de la bordure */
      position:absolute;/* position needed for use of float */
      float:right; /
    }
     
     
    /* indicateur de présence d'un sous menu */
    li.plus:before{
      content: "\25BA";
      float:right;
      color:#ABC;
      position:relative;
      top:7px;
    }

    pourquoi ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Laurent,
    et Bonne Année

    Enlève la classe "displaynone".

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Bonne année Jérôme

    ça a l'air plus compliqué que ça : http://codepen.io/laurentsc/pen/KaweLR

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Avant d'aller plus loin dans cette voie, as-tu bien pris en considération que les hover posent de gros problèmes sur les smartphones et plus généralement sur les écrans tactiles ?
    Citation Envoyé par doc MDN mozilla
    Note d'utilisation : sur les écrans tactiles, :hover est problématique voire impossible. La pseudo-classe :hover n'est jamais valide, ou seulement pendant un très court instant après avoir touché l'élément. Puisque les appareils à écrans tactiles sont très courants, il est important que les développeurs web ne placent pas de contenu accessible seulement lors du survol, puisque ce contenu sera caché pour les utilisateurs de tels appareils.

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    je te remercie pour ta réponse. Il se trouve que la cible est un site intranet et le site n'est (déjà actuellement car c'est une évolution) utilisé que sur des PCs (écrans non tactiles).

    Au fait, les "vieilles" archives dont tu parles dans http://www.developpez.net/forums/d16...exte-saccades/ sont dans ta signature...

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Quest-ce que tu entends par ma signature ? Moi je ne vois que deux liens, le premier vers un module d'upload et le second vers mon site perso. Effectivement il y avait un lien vers ce module de défilant mais il y a longtemps que je l'ai supprimé, ou alors j'ai oublié quelque chose quelque part ?

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

Discussions similaires

  1. Cibler des éléments PHP
    Par yann18 dans le forum jQuery
    Réponses: 5
    Dernier message: 19/10/2011, 09h09
  2. Réponses: 6
    Dernier message: 31/08/2011, 19h13
  3. Cibler un élément en fonction de son contenu
    Par dedis dans le forum jQuery
    Réponses: 2
    Dernier message: 20/01/2011, 13h50
  4. Chercher une donnée avec seulement une partie de l'élément
    Par Nadiya dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/05/2008, 18h25
  5. Menu avec hover sous ie6 sur le premier élément de la liste
    Par fabight dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/05/2008, 13h37

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