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 :

CSS et rollover (transparence indésirable)


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut CSS et rollover (transparence indésirable)
    Bonjour,

    J'ai défini un CSS de 500 pixels de large dans lequel je mets une photo à droite (float : right)
    J'y ajoute une texte qui va "s'enrouler" autour du texte (float: left).

    but : Au passage de la souris sur la photo, une grande photo apparaisse par dessus le le tout.

    J'ai trouvé une technique CSS qui permet au passage de la souris de faire apparaitre une image
    voici le code tres simple à comprendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <div id="menu">
    <ul>
      <img src=petite_image.png>
      <li>
    	<ul><img src=grande_image.png></ul>
      </li>
    </ul>
    </div>
    et dans le css :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #menu ul li ul {
    	display:none; <------ on cache ce qui se trouve au niveau de <ul><li><ul>
    }
     
    #menu ul li:hover ul {
    	display:block; <------ on affiche  ce qui se trouve au niveau de <ul><li>	
    }
    Prb : Quand je survole la petite image, la grande image apparait mais le texte est au dessus : Je ne sais/vois pas ce qui se passe ?

    merci pour les conseils

  2. #2
    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
    Plusieurs erreurs / problèmes dans ton code :

    - Ne fonctionne pas sur IE6 (la pseudo-classe hover ne fonctionnant alors que sur les liens).
    - Un élément ul ne peut contenir que des éléments li.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut
    merci

    je vais corriger comme ceci :
    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
     
    <div id="menu">
    <ul>
      <li>
            <img src=petite_image.png>
    	<a href=''><img src=grande_image.png></a>
      </li>
    </ul>
    </div>
     
    CSS 
     
    #menu ul li a {
    	display:none; <------ on cache ce qui se trouve au niveau de <ul><li><a>
    }
     
    #menu ul li a:hover {
    	display:block; <------ on affiche  ce qui se trouve au niveau de <ul><li><a>	
    }
    mais ça marche plus

  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
    C'est normal, si ton élément est en display:none, tu ne peux pas passer dessus.

    Tu peux faire comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="menu">
       <ul>
          <li>
             <a href="#">texte1<span>texte2</span></a>
          </li>
       </ul>
    </div>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #menu ul li a span{
       display:none;
    }
    #menu ul li a:hover span{
       display:block;
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut
    merci

    rectificatif : ça ne marche pas avec IE6

    le texte n'apparait pas et sous Firefox/safari, il est toujours au dessus de l'image affichée

    voici un exemple (firefox) : ici

  6. #6
    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
    Je ne comprends pas bien l'intérêt du ul li...?

    C'est normal que ton image apparaisse au-dessous du texte puisqu'elle est placée avant dans le html. Elle passera dessus si tu lui attribues un position:relative ou absolu, selon comment tu veux la positionner.

    Pour que IE6 fonctionne correctement à l'affichage d'élément à l'intérieur de la balise a il faut lui attribuer une propriété bidon sur le hover tout court genre:

    Voici un petit exemple qui devrait correspondre à ce que tu souhaites obtenir:
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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">
                            .photo {float:right;position:relative;}
                            .photo span  {display:none;}
                            .photo:hover {border:0;} /* bug IE6 */
                            .photo:hover span{display:block;position:absolute;top:100px;right:100px;}
                    </style>
    	</head>
    	<body>
    		<p>
    			<a href="#" class="photo">
    				<img src="img.jpg" border="1" height="180" width="240"><span><img src="bigimg.jpg" border="1" height="360" width="480"></span>
    			</a>
    			blablabla
    		</p>
    	</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

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

Discussions similaires

  1. [WD16] transparence indésirable dans champs
    Par lepatantpato dans le forum WinDev
    Réponses: 4
    Dernier message: 05/01/2014, 18h11
  2. [CSS] Input text transparent
    Par Oberown dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 23/05/2006, 14h21
  3. [CSS] transparence PNG pour IE
    Par Trunks dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/12/2005, 13h45
  4. [CSS][Débutant] Rollover sur ligne d'un tableau
    Par Nyx de Tours dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 12/07/2005, 09h25
  5. [CSS][IE >= 5.5] Transparence non voulue !
    Par pimousse76 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 12/05/2005, 16h06

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