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 :

info-bulle masqué par un div en overflow


Sujet :

CSS

  1. #1
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut info-bulle masqué par un div en overflow
    Bonjour

    Le titre de mon post est suffisament explicite je crois, mais voici une tite explication tout de même :
    J'ai donc des info-bulles (css only) dans un div que j'ai fais passé en overflow-y:scroll. Le span en absolute ne passe plus par dessus ce div et reste contenu dans celui-ci, càd qu'il n'est visible que sur la surface du div (il est masqué à droite à partir du scrolling donc).

    Mais ce problème n'apparait pas sur IE.
    Seul momo me fait ce caprice.

    Vous connaissez une feinte?
    Merci

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    tu as essayé avec z-index ? qu'est ce qu'il y a dans tes div ? des select ?
    Tu pourrais nous montrer le lien?
    (Je sais ça fait beaucoup de question pour quelqu'un qui est censé répondre à ta question )

  3. #3
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Salut trotters213 ^^
    Ouep j'ai mis des z-index!
    Je ne peux pas donner de liens vers cette appli car c'est pour un (très) gros client huhu.

    Rien n'y fait avec les z-index, le overflow imbrique totalement tout élément en absolute, j'ai cassé tous les flux de positionnement et je m'en sors pas!

  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
    Ce membre avait le même problème que toi.
    http://developpez.net/forums/showthread.php?t=220580

    Il l'a résolu mais n'a pas mis sa solution.

    Tu peux toujours regarder son code pour savoir comme il a fait, ou lui poser la question.

  5. #5
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Ben visiblement il n'utilise pas d'overflow.
    Si je ne mets pas mes div en overflow il n'y a aucun problème sur les deux navigateurs.

    Mais le overflow pose des soucis sur momo.

  6. #6
    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
    Avant il avait un overflow, en effet et il l'a supprimé.

    Tu as essayé la solution Javascript ?

  7. #7
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    J'apprécie beaucoup ma classe css infobulle là et j'aimerai bien trouver une astuce pour que ça fonctionne en toute circonstance.
    Non pas que passer par javascript me dérange puisque j'ai déjà développé toutes les fonctions pour ça, mais le traitement local est plus léger en CSS et ça m'arrange.

    Je continue de chercher donc...

  8. #8
    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 speedev
    J'ai donc des info-bulles (css only) dans un div que j'ai fais passé en overflow-y:scroll. Le span en absolute ne passe plus par dessus ce div et reste contenu dans celui-ci, càd qu'il n'est visible que sur la surface du div (il est masqué à droite à partir du scrolling donc).
    Merci
    Hello,

    J'ai essayé de recréer ton problème avec un exemple basique, mais je n'y arrive pas (chez moi le span en absolu s'affiche en entier). Pourrais-tu, soit donner le bout de code qui te pose problème, soit dire ce que je dois rajouter dans mon exemple pour être conforme à ton problème (je n'ai peut-être pas compris exactement ta situation) ?

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    div {width:100px; height:100px; background-color:#FFFF99; overflow-y: scroll;}
    span {display:none;}
    a:hover span {display:block; position:absolute; top:50px; left:20px;}
    -->
    </style>
    </head>
     
    <body>
    <div><a href="#">test<span>information contenues dans le span</span></a></div>
    </body>
    </html>
    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

  9. #9
    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 Candygirl
    J'ai essayé de recréer ton problème avec un exemple basique, mais je n'y arrive pas (chez moi le span en absolu s'affiche en entier). Pourrais-tu, soit donner le bout de code qui te pose problème, soit dire ce que je dois rajouter dans mon exemple pour être conforme à ton problème (je n'ai peut-être pas compris exactement ta situation) ?
    En effet, en absolute ça fonctionne parfaitement.
    Cependant, une infobulle pour être ... désignée comme telle ne peut pas être positionnée en absolute mais en relative.
    Dans ce cas, le problème survient quand on laisse l'overflow mais disparait en même temps qu'on retire l'overflow.

    Après, à speedev de nous préciser son code.

  10. #10
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    scuzez moi j'ai poursuivi le dev, je n'ai que peu de temps pour finir lappli!
    Je vous retape mon code en dessous version brouillon (identique dans le concept) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div class='classe1'>
    <div style="margin-left:40px"><a href='#' class='bulle'>lien1<span>contenu de l'infobulle</span></a></div></div>
    CSS
    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
     
    /*DIV SCROLLING*/
    .classe1{overflow-y:scroll;}
     
    /*INFOBULLE*/
    a.bulle {
    text-decoration: none;
    position: relative;
    color: #000000;
    border-bottom: 1px gray dotted;
    background-image:none; /*suppression de l'image en padding-left standart (a)*/
    padding-left:0;/*réinit padding du (a)*/
    }
    a.bulle span {
    display: none;
    }
    a.bulle:hover {
    background: none; /* pour bug IE */
    z-index: 500; /*essai*/
    }
    a.bulle:hover span {
    display: inline; /*essai*/
    position: absolute;
    top: 2em;
    left: 4em;
    right:1em;
    background: #FFFFFF;
    text-align: left;
    color: white;
    padding: 2px;
    font-size:0.75em;
    width:auto;
    }

  11. #11
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    C'est rigolo, j'ai trouvé mon soucis en vous retapant mon code!
    a{ position: relative}<-- mauvais!

  12. #12
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Oups...heu non c'est pas ça!

  13. #13
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    j'm'explique:
    Si tu ne mets pas le position:relative dans ta classe "a" CandyGirl tes infos-bulles seront toutes situées au même endroit.

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type="text/css">
    <!--
    div {width:100px; height:100px; background-color:#FFFF99; overflow-y: scroll;}
    span {display:none;}
    a:hover span {display:block; position:absolute; top:50px; left:20px;}
    -->
    </style>
    </head>
     
    <body>
    <div><a href="#">test<span>information contenues dans le span</span></a><br /><br />
    <a href="#">test<span>information contenues dans le span deux</span></a><br /><br />
    <a href="#">test<span>information contenues dans le span trois</span></a>
    </div>
    </body>
    </html>

    Mais en fait c'est mozilla qui interprete correctement le code car un <span> en absolute sera en absolute dans son conteneur. Seulement les infobulle sont donc masquées.

  14. #14
    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
    Oui, effectivement le position relative ratachant au a est handicapante. Dans mon exemple de base j'avais oublié de donner la position relative raport au conteneur, ce qui est idiot pour pouvoir le positionner correctement

    Je vais faire 1-2 tests de mon côté et avec ton bout de code.

    Edit: j'avais pas vu ton message. Oui, on est d'accord que l'interprêtation de FF a un côté logique, je dois avouer que le résultat de mon premier essai m'avait plutôt surpris
    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

  15. #15
    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
    Ton code :
    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
    /*DIV SCROLLING*/
    .classe1{overflow-y:scroll;}
     
    /*INFOBULLE*/
    a.bulle {
    text-decoration: none;
    position: relative;
    color: #000000;
    border-bottom: 1px gray dotted;
    background-image:none; /*suppression de l'image en padding-left standart (a)*/
    padding-left:0;/*réinit padding du (a)*/
    }
    a.bulle span {
    display: none;
    }
    a.bulle:hover {
    background: none; /* pour bug IE */
    z-index: 500; /*essai*/
    }
    a.bulle:hover span {
    display: inline; /*essai*/
    position: absolute;
    top: 2em;
    left: 4em;
    right:1em;
    background: #FFFFFF;
    text-align: left;
    color: white;
    padding: 2px;
    font-size:0.75em;
    width:auto;
    }
    Celui qui fonctionne :
    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
    /*DIV SCROLLING*/
    .classe1{overflow-y:scroll;}
    
    /*INFOBULLE*/
    a.bulle {
    text-decoration: none;
    position:absolute;
    color: #000000;
    border-bottom: 1px gray dotted;
    background-image:none; /*suppression de l'image en padding-left standart (a)*/
    padding-left:0;/*réinit padding du (a)*/
    }
    a.bulle span {
    display: none;
    }
    a.bulle:hover {
    background: none; /* pour bug IE */
    z-index: 500; /*essai*/
    }
    a.bulle:hover span {
    display:block;
    position: relative;
    top: 2em;
    left: 4em;
    right:1em;
    background: #FFFFFF;
    text-align: left;
    color: black;
    padding: 2px;
    font-size:0.75em;
    width:auto;
    }

  16. #16
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Hum, chez moi ton code fait un carnage lol
    jv essayer d'adapter! merci

  17. #17
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Opla j'avais pas vu!
    BisounoursJos tu ne peux pas mettre le lien en position absolute sinon l'overflow devient inutile. Il faut pas rompre le flux de positionnement pour les liens!

    ^^

    En gros, en mettant le "a" en absolute, tu le mets sur le même plan que le span, du coup le lien n'est plus contenu dans le div en overflow.

  18. #18
    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 speedev
    Opla j'avais pas vu!
    BisounoursJos tu ne peux pas mettre le lien en position absolute sinon l'overflow devient inutile. Il faut pas rompre le flux de positionnement pour les liens!

    ^^

    En gros, en mettant le "a" en absolute, tu le mets sur le même plan que le span, du coup le lien n'est plus contenu dans le div en overflow.
    En effet, je n'avais testé qu'avec le code donné et je n'avais pas rajouté du texte ... X_x

  19. #19
    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 speedev
    j'm'explique:
    Si tu ne mets pas le position:relative dans ta classe "a" CandyGirl tes infos-bulles seront toutes situées au même endroit.
    Effectivement, à moins de ne pas donner de position précise (sans top ni left de spécifiés) et garder le positionnement absolu par défaut et jouer sur la marge pour la hauteur et en imaginant que la largeur tolère que le positionnement en x soit toujours le même (genre pas 2 lien sur une même ligne et div étroit).

    Enfin, très mauvaise option je pense. Perso je chercherais plutôt du côté du javascript ou alors utiliser l'infobulle de l'attribut title.

    Bonne chance
    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

  20. #20
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    merci

Discussions similaires

  1. Info-bulles ?
    Par Neilos dans le forum Windows
    Réponses: 3
    Dernier message: 05/09/2006, 15h21
  2. [C#] [Win forms] Info bulle sur bouton
    Par RobinJulie dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/11/2004, 16h12
  3. Info bulle sur un TImage
    Par Dauphin dans le forum C++Builder
    Réponses: 4
    Dernier message: 30/09/2004, 13h56
  4. [BPW] Programmation d'info-bulles
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 15/05/2004, 18h14
  5. Réponses: 3
    Dernier message: 11/03/2004, 16h11

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