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 :

Menu qui s'ouvre vers la gauche


Sujet :

CSS

  1. #1
    Membre du Club
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Points : 49
    Points
    49
    Par défaut Menu qui s'ouvre vers la gauche
    Bonjour !
    J'aimerai faire un menu où dans chaque <li>, il y a <img src="A.png"><p>AaAa</p>, et qu'au survol du <li>, l'image se "décale" vers la droite pour laisser apparaître le texte à sa gauche.
    Voici mon code HTML :
    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>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<link rel="stylesheet" href="styles.css" />
    		<title>Menu qui s'ouvre vers la gauche</title>
    	</head>
     
    	<body>
    		<ul>
    			<li>
    				<img src="A.png" alt="A" /><!--
    				--><p>AaAaAaAa</p>
    			</li><!--
    			--><li>
    				<img src="B.png" alt="B" /><!--
    				--><p>BbBbBbBb</p>
    			</li>
    		</ul>
    	</body>
    </html>
    Ainsi que le CSS :
    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
    32
    33
    34
    35
    li
    {
    	display:inline-block;
    	background:#e5a541;
    	width:50px;
    	height:50px;
    	overflow:hidden;
    	color:#e5471d;
    	transition-property:width;
    	transition-duration:2s;
    	padding:0;
    }
     
    li img
    {
    	display:inline-block;
    	vertical-align:top;
    }
     
    li p
    {
    	display:inline-block;
    	vertical-align:top;
    	text-align:center;
    	width:150px;
    	height:50px;
    	line-height:50px;
    	padding:0;
    	margin:0;
    }
     
    li:hover
    {
    	width:200px;
    }

    Cependant, avec ce code, l'image reste fixe et c'est le changement de taille du <li> qui fait apparaître le texte à droite de l'image (tout le contraire, en somme).
    De plus, le texte met un certain temps avant d'apparaître : il attends que la transition soit finie.

    Comment remédier à ces soucis ?

    Merci d'avance !

    [EDIT] Voilà ce que je cherche à obtenir :

  2. #2
    Membre éclairé
    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
    Points : 705
    Points
    705
    Par défaut
    Pourriez-vous expliquer un peu plus, car j'ai essayé le code et cela m'a l'air de fonctionner.
    Qu'est-ce qui ne va pas?
    voir sur http://codepen.io/anon/pen/nfGiB

  3. #3
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    bonjour,

    un petit exemple.

  4. #4
    Membre éclairé
    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
    Points : 705
    Points
    705
    Par défaut
    Salut Beekeep
    Ben où est la différence à part la vitesse ... avec http://codepen.io/anon/pen/nfGiB qui est exactement le code de X260SH?
    Mais je reconnais que c'est intéressant et que je garde pour plus tard ...

  5. #5
    Membre du Club
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par beekeep Voir le message
    bonjour,

    un petit exemple.
    C'est ce qui s'approche le plus de se que je recherche. Il reste cependant un petit détail à régler : l'image se décale vers la gauche, mais le texte est coller à elle. Puis quand l'image arrive à sa "destination", le texte se détache petit à petit d'elle. Comment faire pour que la distance image-texte soit la même tout au long de l'animation ?

    Merci.

    [EDIT] Euh, après revérification, il y a un gros soucis avec votre méthode. La taille du div conteneur de change pas, ce qui fait qu'il est impossible de faire un menu comme je l'avais montrer dans mon 1er message...

  6. #6
    Expert confirmé
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Points : 5 443
    Points
    5 443
    Par défaut
    Bonjour,

    sur la même longueur d'onde que beekeep (je me rends compte que j'ai cherché une solution identique )

    Le hover serait préférable sur la balise P: http://codepen.io/anon/pen/tciFg
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ul>
       <li><img src="http://lorempixel.com/sport/50/50" alt="A" />
        <p>texte 1</p>
     </li>
       <li><img src="http://lorempixel.com/cats/50/50" alt="B" />
        <p>texte 2</p>
     </li>
    </ul>
    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
    li
    {
      display:inline-block;
      height:50px;
      overflow:hidden;
    }
    p
    {
      display:inline-block;
      vertical-align:top;
      text-align:center;
      width:0px;
      height:50px;
      line-height:50px;
      color:yellow;
      background: salmon;
      margin:0;
      transition-property:width;
      transition-duration:1s;
    }
    li:hover p
    {
      width:200px;
    }
    Pensez à
    lire les règles du forum effectuer une recherche préalable
    utiliser la balise code (#) éditer votre code sur Codepen, Dabblet, Jsfiddle
    clore votre post avec le bouton

  7. #7
    Membre du Club
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    C'est ce que j'avais réussi à faire... Mais ça part vers la droite et non à gauche...

  8. #8
    Expert confirmé
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Points : 5 443
    Points
    5 443
    Par défaut
    Alors avec un float:right; à la place du inline-block sur le LI : http://codepen.io/anon/pen/mdnJK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ul{
      width:300px;
    }
    li
    {
      float: right;
      height:50px;
      overflow:hidden;
    }
    Bien sûr penser à inverser l'ordre des items de la liste...
    Pensez à
    lire les règles du forum effectuer une recherche préalable
    utiliser la balise code (#) éditer votre code sur Codepen, Dabblet, Jsfiddle
    clore votre post avec le bouton

  9. #9
    Membre du Club
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Ah c'est exactement ce que je cherchais, merci !!!
    Je rencontre cependant un dernier soucis quant à l'intégration de ce menu. Si je le met dans la balise nav, voilà ce que ça donne : http://codepen.io/anon/pen/uzjDp (vraiment pratique, ce site !). Le tout se met sous le nav. J'aimerai le positionner toute à droite. Merci beaucoup !

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Points : 25
    Points
    25
    Par défaut
    Bonsoir,

    Tout à droite ?
    Essayez un float:right; sur nav ul

  11. #11
    Membre du Club
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Merci rodolphebrd et yoannhel pour vos exemples et vos conseils.
    Résolue.

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

Discussions similaires

  1. menu fixe en bas qui s'ouvre vers le haut
    Par mohammed_amine_wardy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/11/2010, 17h06
  2. VS2010 label qui doit s'agrandir vers la gauche
    Par xian21 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/08/2010, 08h46
  3. Problème menu qui se décale à gauche
    Par jisko42 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/02/2010, 11h04
  4. Menu gauche qui se décale vers le bas
    Par sheira dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/04/2009, 15h09
  5. Menu qui s'affiche en permanance en haut a gauche des images
    Par raphio000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 19
    Dernier message: 25/07/2006, 11h14

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