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 transition bizarre [CSS 3]


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 59
    Par défaut Menu transition bizarre
    Bonjour, je travaille sur un menu basé sur les transitions.
    Mon menu réagit exactement comme je le voulait, SAUF pour la transition principale qui réagit bizarrement.

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Document sans nom</title>
    </head>
    <style type="text/css">
    .TitreMenu {
    	background-color: #999;
    	height: 20px;
    	width: 100px;
    	font-family: "Times New Roman", Times, serif;
    	font-size: 18px;
    	font-style: italic;
    	text-align: center;
    	padding-top: 5px;
    	border-top-style: solid;
    	border-right-style: solid;
    	border-bottom-style: solid;
    	border-left-style: solid;
    	border-top-color: #000;
    	border-right-color: #000;
    	border-bottom-color: #000;
    	border-left-color: #000;
    	display:block;
    	overflow:hidden;
    	transition:height 0.6s ease-in-out;
    	-moz-transition:height 0.6s ease-in-out;
    	-webkit-transition:height 0.6s ease-in-out;
    	-o-transition:height 0.3s ease-in-out;
    	-webkit-border-radius:10px;
    	-moz-border-radius:10px;
    	border-radius:10px;
    	vertical-align: middle;
    	}
     
     
    	.TitreMenu:hover{
    	height:auto;	
    		}
     
    	.SousMenu {
    	transition:background 0.9s ease-in-out;
    	-moz-transition:background 0.9s ease-in-out;
    	-webkit-transition:background 0.9s ease-in-out;
    	-o-transition:background 0.9s ease-in-out;
    	height: 20px;
    	width: auto;
    	background-color: #0099FF;
    	opacity: 0.8;
    	}
     
    .SousMenu:hover {
    	background:#ECECEC;
    }
    </style>
    <body>
    <div class="TitreMenu" >
    Titre Menu
    <div class="SousMenu">
    Présentation
    </div>
    <div class="SousMenu">
    Notre équipe
    </div>
    <div class="SousMenu">
    Autre...
    </div>
    </div>
    </body>
    </html>
    Si quelqu'un a une idée pour faire une transition propre tout en gardant le Height:auto; de Titremenu:hover, ce serait du bonheur

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Homme Profil pro
    Responsable de projet
    Inscrit en
    Mai 2009
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 634
    Par défaut
    Salut,

    ce que tu peux faire c'est plutot agir sur le .SousMenu
    Par défaut mais une hauteur à 0px et quand tu feras un hover de ton .TitreMenu, applique une hauteur à tes .SousMenu (20px)

    De plus par défaut met height:auto sur ton .TitreMenu afin que la hauteur s'adapte automatiquement.

    Voici ce que cela donne au niveau code (j'ai optimisé ton code pour utiliser des shorthand) :
    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
    .TitreMenu {
    		background-color: #999;
    		height: auto;
    		width: 100px;
    		font-family: "Times New Roman", Times, serif;
    		font-size: 18px;
    		font-style: italic;
    		text-align: center;
    		padding-top: 5px;
    		border:3px solid #000;
    		overflow:hidden;
    		transition:all 0.6s ease-in-out;
    		-moz-transition:all 0.6s ease-in-out;
    		-webkit-transition:all 0.6s ease-in-out;
    		-o-transition:all 0.6s ease-in-out;
    		-webkit-border-radius:10px;
    		-moz-border-radius:10px;
    		border-radius:10px;
    	}
    	.TitreMenu:hover .SousMenu{
    		height:20px;
    	}
    	.SousMenu {
    		transition:all 0.9s ease-in-out;
    		-moz-transition:all 0.9s ease-in-out;
    		-webkit-transition:all 0.9s ease-in-out;
    		-o-transition:all 0.9s ease-in-out;
    		height: 0px;
    		background-color: #0099FF;
    		opacity: 0.8;
    		overflow:hidden;
    	}
    	.SousMenu:hover {
    		background:#ECECEC;
    	}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 59
    Par défaut
    Super ça, merci beaucoup.

    Je savait pas qu'on pouvait influer sur un autre éléments que celui que l'on touchait.
    On peux faire ça tout le temps ?

    Au fait c'est quoi que tu appelle des shorthand ?

  4. #4
    Rédacteur

    Homme Profil pro
    Responsable de projet
    Inscrit en
    Mai 2009
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 634
    Par défaut
    oui on peut le faire tout le temps ( pour peu qu'on le déclare bien dans son css)

    Concernant les shorthand, c'est en fait un raccourci css. Par exemple pour la bordure, au lieu d'ecrire :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    border-style:solid;
    border-color:#000;
    autant en écrire moins en utilsant le raccourci :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    border:1px solid #000;

    c'est plus rapide à écrire et en plus rapide à interpréter par le navigateur car il y a moins de code

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 59
    Par défaut
    merci

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

Discussions similaires

  1. Menu horizontal avec sous menu transition
    Par Tarkna dans le forum Mise en page CSS
    Réponses: 15
    Dernier message: 25/10/2011, 21h50
  2. Réponses: 0
    Dernier message: 20/04/2009, 17h09
  3. un simple menu : Transitional vers strict
    Par gomodo dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 13/01/2009, 21h30
  4. caractère bizarre devant mon menu
    Par dunbar dans le forum Langage
    Réponses: 2
    Dernier message: 16/07/2006, 19h40
  5. [FLASH 8] Transition sur bouton de menu deroulant
    Par chienlou dans le forum Flash
    Réponses: 3
    Dernier message: 05/06/2006, 10h13

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