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 :

DIV qui fait tout bouger quand il apparaît au survol d'un autre


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 averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut DIV qui fait tout bouger quand il apparaît au survol d'un autre
    Bonjour,
    J'ai une structure HTML qui ressemble à ce qui suit et un CSS tel que quand je survole la phrase "un titre", ça fait apparaître un autre div:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div class="div1">un titre
    <div class="apparait_au_survol_de_div1">ici du contenu</div>
    </div>

    Mais si je désinbrique les deux div pour avoir ce qui suit, le coup du "montrer/cacher" au survol ne marche plus.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div class="div1">un titre</div>
    <div class="apparait_au_survol_de_div1">ici du contenu</div>

    L'imbrication est-elle indispensable ?

    Mon vrai soucis est qu'en fait, lorsque le div apparaît, ça pousse d'autres choses à sa droite ; dans l'idéal, le div devrait apparaître au-dessus de tout, comme avec un gros z-index, mais je n'y arrive pas

    Merci pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Par défaut
    Il aurait été judicieux de nous donner aussi le css!

    https://codepen.io/JefReb/pen/QrjeGq

    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
    * {
    	margin: 0;					
    	padding: 0;					
    	box-sizing: border-box;		
    }
    body {
    	font-family: Verdana, Arial, sans-serif;
    	font-size: 100%;
    }
    .conteneur {
    	width: 150px;
    	height: 150px;
    	position: relative;					
    	background-color: blue;
    	float:left;
    	margin:60px;	
    }
    .popup {
    	width: 150px;
    	height: 150px;
    	position: absolute;				
    	top: 110px;						
    	left: 100px;					
    	background-color: yellow;
    }
    .popup {
    	visibility:hidden;				
    }
    .conteneur:hover .popup {
    	visibility:visible;				
    }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div class="conteneur">
      <div class="popup"></div> 
    </div>
     
    <div class="conteneur"></div>

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- Tu peux faire aussi une recherche sur "tooltip", si c'est bien ça que tu veux.

    2- la 1ère notion à connaitre est le positionnement : relatif / absolu / fixe.


    IMPORTANT : "un élément est positionné par rapport à son parent le plus proche, lui même positionné".
    En clair (cf. exemple ci-dessous) : il faut mettre position:relative; sur le parent

    Exemple simple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h2 class="tooltip">un titre
     <span>ici du contenu</span>
    </h2>
    <div> Autre chose....</div>
    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
    .tooltip { 
      position:relative; /* nécessaire pour positionner le tooltip par rapport à ce div */
    }
    .tooltip > span { 
      position:absolute; /* position :absolu : on sort du flux */
      display:none; /* on masque */
      top:100%; /* s'affichera en dessous */
      left:0;
      background:lightgrey;
      padding:5px;
    }
    .tooltip:hover > span { 
      display:block; /* on affiche au survol */
    }

    Bon. Par contre, on constate que le texte qui s'affiche prend les propriétés du titre (font-size,.....)

    On peut l'éviter en modifiant le HTML :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div class="tooltip">
      <h2>un titre</h2>
      <span>ici du contenu</span>
    </div>
    <div> Autre chose....</div>
    Dernière modification par Invité ; 23/04/2018 à 09h47.

  4. #4
    Membre émérite
    Homme Profil pro
    Retraité informatique
    Inscrit en
    Juin 2012
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 519
    Par défaut
    Rooooh Jérôme, j'ai donné sans expliquer, j'ai honte!
    Tu as le chic pour expliquer aux débutants ... et pourtant j'ai loin d'avoir la grosse tête.
    Je pense qu'en creusant il doit comprendre le pourquoi de son problème.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Bon, j'ai adapté ce que vous m'avez fourni et je suis arrivé à ce que je voulais, y-compris avec des overflow-y parce que j'avais une petite scrollbar à gérer.
    Un grand merci à vous tous !

    JefReb, je comprends ton propos, cela dit, avec le soucis que je partage d'amener les gens à comprendre par eux-mêmes en leur donnant "que" quelques "indices", j'ai particulièrement apprécié les productions de codes qui m'ont été fournies. Telle n'était pas ma demande initiale je précise. Mais, ça m'a bien aidé.
    Ma situation initiale était que je pataugeais depuis trois paires d'heures dans mon css tout pourri en jouant avec display/float et compagnie. Du coup, soit je filais (effectivement) mon code css, et vous, vous le lisez, vous voyez toutes les saletés qu'il y a dedans et vous m'amener à le nettoyer tranquillement, et, oui, je comprends au final ce qu'il fallait faire (et ne pas faire),
    ou alors on fait comme ça s'est passé et, au final, là aussi je comprends ce qu'il fallait faire (et ne pas faire).
    Donc l'objectif (l'intérêt des forums comme celui-là) est atteint !

    Encore merci.

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

Discussions similaires

  1. Div qui prends toute la longueur restante après un float
    Par codefalse dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 31/10/2008, 12h17
  2. combobox qui fait tout planté
    Par sambzh24 dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/10/2008, 14h26
  3. fieldset qui fait tout peter sous IE
    Par pop_up dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 21/03/2008, 20h42
  4. [POO] Une classe qui fait tout ?
    Par Nasky dans le forum Langage
    Réponses: 23
    Dernier message: 26/05/2006, 20h02
  5. Un retour à la ligne qui fait tout foirer !!!!
    Par sami_c dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 27/02/2006, 10h20

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