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

HTML Discussion :

Passer une div derrière une image


Sujet :

HTML

  1. #1
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut Passer une div derrière une image
    Salut,

    J'ai une div qui se trouve devant une image et j'aimerais la faire passer derrière
    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
    HTML
     
    <div id="MorphAccueil">
    	<a href="#"><img name="ObjAccueil-Image" src="photos/salonsirha2005.jpg" class="Orange" alt="Salon du Sirha 2005" title="Salon du Sirha 2005" height="225" width="300"></a>
    	<div id="MorphLegende">
    		<span class="legende">FC2, FC18, PIZ 6 au Salon du Sirha 2005 (Lyon)</span>
    	</div>
    </div>
     
    CSS
     
    #MorphAccueil {
    	height: 225px;
    	}
    #MorphAccueil img {
    	float: right;
    	margin-left: 0.5em;
    	border:1px solid red;
    	background-color: green;
    	z-index: 10;
    	}
    #MorphLegende {
    	text-align: right;
    	line-height: 0.8em;
    	position: relative;
    	top: 45%;
    	border:1px solid blue;
    	z-index: 0;
    	}
    .legende {
    	font: bold 0.8em Arial, Sans-Serif;
    	font-weight: bold;
    	color: #003345;
    	}
    La multiplication des div est normale (le contenu est modifié dynamiquement)

    Actuellement, la div de la légende se trouve devant l'image. De fait, lorsque la souris passe sur cette zone superposée de la div, le lien autour de l'image n'est plus réactif, le lien ne fonctionne plus et le curseur redevient une flèche.

    Comment passer l'image en premier plan ? Les z-index ne changent rien.

  2. #2
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Je précise que cela marche bien sous IE même sans les z-index.
    C'est sous FF que ça cafouille.

  3. #3
    Membre actif
    Homme Profil pro
    Analyste/développeur Java EE
    Inscrit en
    Janvier 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste/développeur Java EE

    Informations forums :
    Inscription : Janvier 2005
    Messages : 376
    Points : 271
    Points
    271
    Par défaut
    Tu veux que le div soit caché par l'image???

    J'en vois pas trop l'interet mais je pense qu'il faudrait créer un div qui survole avec l'image en background

  4. #4
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Non, ce n'est pas ça.

    test le code ci-dessus. J'ai ajouté un background vert à l'image pour que l'intérieur soit opaque puisque vous n'avez pas la photo.
    Bien que le texte de la légende soit aligné comme je le veux à gauche de l'image, tu verras que sa div, de bordure bleue, se superpose à l'image.

    Ce qui a pour effet que lorsque tu survole l'image dans cette zone de superposition, le lien ne fonctionne plus. Mais en temps normal, il n'y a pas de bordure, ce qui fait que l'utilisateur, selon l'endroit où il se trouve sur l'image, peut activer ou non le lien.

    C'est pour cela que je voudrais faire passer la div de la légende derrière afin qu'il n'y ai plus cette "dead zone" (pas celle de Stephen King ) lorsqu'on survol l'image.

    Ouf, j'ai fini de parler. On peut respirer

  5. #5
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Bon, j'ai pas trouvé la solution mais j'ai réglé mon problème en passant la légende en absolute avec un bottom à 0
    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
    #MorphAccueil {
    	height: 230px;
    	position: relative;
    	}
    #MorphAccueil img {
    	float: right;
    	}
    #MorphLegende {
    	text-align: right;
    	line-height: 0.8em;
    	position: absolute;
    	bottom: 0;
    	width: 290px;
    	margin-bottom: 0.5em;
    	}

  6. #6
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    J'ai pas eu le courage d'aller vérifier.

    Le z-index ne s'applique-t-il pas qu'aux blocs positionnés en absolu ?

  7. #7
    Membre actif Avatar de Ricou13
    Inscrit en
    Août 2002
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 292
    Points : 224
    Points
    224
    Par défaut
    Mais OOUUUIIII !!!

    Je devrais regarder la doc plus souvent, moi. Y a marqué, en gros
    ...
    Pour une boîte positionnée, la propriété 'z-index' spécifie :
    ...
    Bon, d'accord, c'est pas en gros... mais c'est marqué quand même

    Trop fort, le Ilood !!!

    Simplement...

    Je vais garder l'autre solution Parce que, au départ, la légende devait se trouver en bas, à gauche, de l'image. Mais comme je n'ai plus pensé à "bottom", je l'avais positionné au millieu (sa hauteur variant du fait d'un contenu dynamique).
    En postant ce message, cela m'a fait réfléchir ( ) à la structure de mes éléments et j'ai trouvé la solution ci-dessus.
    Avec cette solution en absolute, la légende est désormais en bas, quelque soit sa hauteur puisqu'elle s'agrandit vers le haut et je n'ai aucun pb de superposition.

    Mais, par rapport au premier code, il suffit donc d'ajouter un simpledans le CSS de l'image.


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

Discussions similaires

  1. Comment adapter la hauteur d'une div enfant à une div parent.
    Par infovect dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/03/2015, 08h29
  2. Positionné une div dans une div
    Par hunyka dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 24/04/2012, 08h29
  3. Aligner des divs dans une div sur UNE ligne
    Par identifiant_bidon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 07/09/2011, 18h06
  4. Incorporer une div dans une div
    Par solorac dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 21/07/2008, 14h21
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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