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 :

Ajout d'un sous-menu dans mon menu CSS


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Par défaut Ajout d'un sous-menu dans mon menu CSS
    Bonjour à tous,

    J'ai adapté un menu CSS pour un site WEB, mais j'aimerais y ajouter un sous-menu pour un certain item. Je ne sais pas par où commencer exactement.

    Votre aide serait grandement apprécié. C'est au niveau du lien Informations que j'aimerais y ajouter 2-3 items en sous-menu.

    Je sais qu'il est possible de le faire seulement en HTML et CSS, mais aussi possible d'y ajouter du JavaScript.

    Voici le CODE HTML du MENU :

    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
    <nav class="navbar">
          <div class="navbar-container">
              <input type="checkbox" name="" id="">
              <div class="hamburger-lines">
                  <span class="line line1"></span>
                  <span class="line line2"></span>
                  <span class="line line3"></span>
              </div>
              <ul class="menu-items">
                  <li><a href="#">Accueil</a></li>
                  <li><a href="#">Informations</a></li>
    	      <li><a href="#">Nous joindre</a></li>
              </ul>
              <img src="images/logo-min.png" class="logo" alt="LOGO">
          </div>			
    </nav>

    La partie CSS pour le navigateur

    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
    /* NAVBAR - DESKTOP MODE */
    .navbar input[type="checkbox"],
    .navbar .hamburger-lines {
      	display: none;
    }
     
    .navbar {
      	box-shadow: 0px 5px 10px 0px #aaa;
      	position: fixed;
    	top: 0px;
      	width: 100%;
      	background: #000;
      	color: red;
      	opacity: 0.85;
      	height: 90px;
      	z-index: 12;
    }
     
    .navbar-container {
      	display: flex;
      	justify-content: space-between;
    	align-items: center;
      	height: 90px;
    }
     
    .menu-items {
      	order: 2;
      	display: flex;
    	flex-flow: row wrap;
    }
     
    .menu-items li {
      	list-style: none;
      	margin-left: 1rem;
      	margin-right: 1rem;
      	margin-bottom: 0.5rem;
      	font-size: 1rem;
    }
     
    .menu-items a:link,
    .menu-items a:visited {
      	text-decoration: none;
      	color: darkgoldenrod;
      	transition: color 0.3s ease-in-out;
    }
     
    .menu-items a:hover,
    .menu-items a:active {
      	color: palegoldenrod;
      	transition: color 0.3s ease-in-out;
    }
     
    .logo {
      	order: 1;
      	font-size: 2.3rem;
      	margin: 0.2rem;
    	padding-left: 0.5rem;
    }
     
    .logo img {
    	display: block;
    	width: 100%;
    }
    Le code CSS Mobile

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    	/*** MOBILE NAVIGATION ***/
    	.navbar {
    		opacity: 0.95;
    	}
     
    	.navbar-container input[type="checkbox"],
    	.navbar-container .hamburger-lines {
    		display: block;
    	}
     
    	.navbar-container {
    		display: block;
    		position: relative;
    		height: 90px;
    	}
     
    	.navbar-container input[type="checkbox"] {
    		position: absolute;
    		display: block;
    		height: 32px;
    		width: 30px;
    		top: 20px;
    		left: 20px;
    		z-index: 5;
    		opacity: 0;
    	}
     
    	.navbar-container .hamburger-lines {
    		display: block;
    		height: 23px;
    		width: 35px;
    		position: absolute;
    		top: 17px;
    		left: 20px;
    		z-index: 2;
    		display: flex;
    		flex-direction: column;
    		justify-content: space-between;
    	}
     
    	.navbar-container .hamburger-lines .line {
    		display: block;
    		height: 4px;
    		width: 100%;
    		border-radius: 10px;
    		background: #333;
    	}
     
    	.navbar-container .hamburger-lines .line1 {
    		transform-origin: 0% 0%;
    		transition: transform 0.4s ease-in-out;
    	}
     
    	.navbar-container .hamburger-lines .line2 {
    		transition: transform 0.2s ease-in-out;
    	}
     
    	.navbar-container .hamburger-lines .line3 {
    		transform-origin: 0% 100%;
    		transition: transform 0.4s ease-in-out;
    	}
     
    	.navbar .menu-items {
    		padding-top: 100px;
    		background: red;
    		height: 100vh;
    		max-width: 250px;
    		transform: translate(-150%);
    		display: flex;
    		flex-direction: column;
    		margin-left: -40px;
    		padding-left: 50px;
    		transition: transform 0.5s ease-in-out;
    		box-shadow: 5px 0px 10px 0px #aaa;
    	}
     
    	.navbar .menu-items li {
    		margin-bottom: 1.5rem;
    		font-size: 1rem;
    		font-weight: 500;
    	}
     
    	.navbar .menu-items a:link,
    	.navbar .menu-items a:visited {
    		color: black;
    	}
     
    	.navbar .menu-items a:hover,
    	.navbar .menu-items a:active {
    		color: white;
    	}
     
    	.logo {
    		position: absolute;
    		padding: 0;
    		margin: 0.2rem;
    		padding-right: 0.5rem;
    		top: 5px;
    		right: 5px;
    	}
     
    	.navbar-container input[type="checkbox"]:checked ~ .menu-items {
    		transform: translateX(0);
    	}
     
    	.navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
    		transform: rotate(35deg);
    	}
     
    	.navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
    		transform: scaleY(0);
    	}
     
    	.navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
    		transform: rotate(-35deg);
    	}
    Je crois que tout est là, s'il vous manque des informations, juste à demander et je vais répondre de mon mieux.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Je ne sais pas par où commencer exactement.
    surprenant que tu n'aies rien trouvé !

    Pour faire simple et rapide ton code HTML devrait ressembler à quelque chose comme :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <ul class="menu-items">
        <li><a href="#">Accueil</a></li>
        <li class="has-submenus" tabindex="0">Informations
            <ul>
                <li><a href="...">Sous menu Info #1</a></li>
                <li><a href="...">Sous menu Info #2</a></li>
                <li><a href="...">Sous menu Info #3</a></li>
            </ul>
        </li>
        <li><a href="#">Nous joindre</a></li>
    </ul>
    Un tabindex est mis pour que l'élément soit « focusable », car exit le <a>.

    Il faut bien sûr ajouter du CSS, par exemple :
    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
    .has-submenus {
      position: relative;
      color: darkgoldenrod;
      cursor: pointer;
    }
    .has-submenus:after {
      content: "\025BC";
    }
    .has-submenus:hover > ul,
    .has-submenus:focus > ul {
      display: block;
    }
    .has-submenus ul {
      display: none;
      position: absolute;
      padding: 0;
      min-width: 100%;
      border: 1px solid #888;
      line-height: 2;
      white-space: nowrap;
      background-color: #FFF;
    }
    cela devrait le faire.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Par défaut
    Merci, le tout répond à mes besoins.

    J'apprécie la réponse rapide.

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

Discussions similaires

  1. Problème avec ajout d'un sous-menu
    Par Jb_One73 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 01/12/2014, 10h14
  2. Réponses: 4
    Dernier message: 14/03/2008, 16h43
  3. [C#] Ajout d'une Form existante dans mon projet ?
    Par sara21 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/10/2006, 01h08
  4. [MySQL] Comment créer une sous catégorie dans mon site ?
    Par plex dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 18/08/2006, 09h59
  5. Réponses: 10
    Dernier message: 02/02/2006, 10h42

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