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 :

Bloquer un survol a la souris


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
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 1
    Par défaut Bloquer un survol a la souris
    Bonjour, je cherche a faire afficher un commentaire dans une zone au passage de la souris, mais il me faudrait pouvoir le garder apres un clic:

    en partant de l exemple sur http://batraciens.net/css-astuces/co...es-survol1.htm , je me suis dit, si j avoute un visited, ca le bloquera, mais le probleme est que les commentaires se supperposent ensuite...
    Comment puis regler cela, de preference sans ajouter de scripts ? merci

    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
    <html>
    <head>
    <style type="text/css">
    a:hover {border-bottom: 0px}/* indispensable pour IE seulement */ 
    a span {display:none ; /* cache les <span> placés dans un lien <a> */
    text-decoration:none ; /* supprime le soulignement du texte <span> */
    color:black} /* met le texte <span> en noir */
     
    a:hover span, a:visited span {display: block; /* Montre le texte <span> lors du survol */ 
    position: absolute; /* envoi le texte <span> dans 1 zone précise de l'écran */
    top: 400px; /* cette zone se situe à 400 pixels du haut */ 
    left: 200px ;} /* cette zone se situe à 200 pixels de la gauche*/ 
     
    .boite {position: absolute; /* envoi 1 boite dans 1 zone précise de l'écran */
    top: 390px; /* boite placée autour de l'affichage prévu du texte <span> */
    left: 190px ; /* boite placée autour de l'affichage prévu du texte <span> */
    width: 200px ; /* largeur en pixel de la boite */
    height:50px ; /* largeur en pixel de la boite */
    border: solid 2px black} /* bordure de la boite */
    </style>
    </head>
     
    <body>
     
    <div class="boite"></div> <!-- appel "boite" -->
     
    <a href="#">lien 1<span> a a a a a a a a a</span></a> <!-- lien et son commentaire en survol -->
    <a href="#">lien 2<span> bbb bb bbb bbb bbb</span></a> <!-- lien et son commentaire en survol -->
     
    </body>
    </html>

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    a:hover span, a:visited span {
    display: block; 
    position: absolute;
    top: 400px;
    left: 200px ;
    }
    tes span ont la même position. Si tu ne veux pas que les textes se superposent, deux solutions :
    • ajoute un fond blanc au span
      Code css : Sélectionner tout - Visualiser dans une fenêtre à part
      background:#FFFFFF;
      >>inconvénient majeur, si un des messages est figé suite au clic, le second message risque de ne pas apparaître.
    • ou mieux : donne une position pour chaque span
      Code css : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
       
      a:hover span, a:visited span {
      display: block; 
      position: absolute; 
      } 
      .position1{
      top: 400px;
      left: 200px ;
      }
      .position2{
      top: 420px;
      left: 200px ;
      }
      Code html : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
       
      <div class="boite"></div> <!-- appel "boite" -->
       
      <a href="#">lien 1<span class="position1"> a a a a a a a a a</span></a> <!-- lien et son commentaire en survol -->
      <a href="#">lien 2<span class="position2"> bbb bb bbb bbb bbb</span></a> <!-- lien et son commentaire en survol -->
      >>inconvénients : il faut tenir compte de la taille de la police pour éviter une superposition (forcer la police et la taille dans la CSS).
      les messages n'ont pas la même ordonnée
      >>avantage : les deux messages sont visibles

Discussions similaires

  1. [C]Bloquer le clavier ou la souris ?
    Par The Lord of Nesquik dans le forum Windows
    Réponses: 13
    Dernier message: 22/05/2006, 11h09
  2. Afficher un texte au survol de la souris
    Par Death83 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 05/03/2006, 19h28
  3. Connaitre le Composant survolé avec la souris
    Par Hauwke dans le forum Composants VCL
    Réponses: 3
    Dernier message: 12/10/2005, 19h22
  4. Etiquette sur survol de la souris (mouseover)
    Par Philofish dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/08/2005, 11h06
  5. Réponses: 3
    Dernier message: 09/08/2004, 12h24

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