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 :

Centrer le menu


Sujet :

Centrer un élément en CSS

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut Centrer le menu
    Bonsoir,

    j'utilise un menu horizontal récupéré sur le net, mais le css (complexe) fait que menu n'est pas aligné par rapport à l'entête.

    page exemple

    html de la page exemple :
    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
    22
    23
    24
    25
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <title>titre du site test</title>
    <link href="../css/style-menu3.css" rel="stylesheet"/>
    <meta charset="UTF-8"/>
    </head>
    <body>
    <header>
    <?php include("../entete.php"); ?>
    </header>
    <nav>
    <?php include("../menu3.php"); ?>
    </nav>
     
    <section>
    <article >
    squelette
    </article>
     
    </section>
     
     
    </body>
    </html>

    css associé :
    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
    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
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    body {
    	font: normal 2em Arial, Helvetica, sans-serif;
    	font-size : 1em;
    	background:#ebebeb;
    	margin:auto;
    	color: #666;
    }
     
    a {
    	color: #333;
    }
     
     
    #page{
      margin: 0 auto;
      width:40em;
      z-index:9999;
    }
    #page h1{
      color:#006699;
      text-shadow:1px 1px 0 #fff;
      vertical-align:middle;
    }
    #page h1 img{
      vertical-align:middle;
      margin:0 1em 0 0;
    }
    #menu {
      border-radius: 2em;
      -webkit-border-radius: 2em;
      -moz-border-radius: 2em;
      -webkit-box-shadow: 0 1px 3px rgba(0,0,0, .4);
      -moz-box-shadow: 0 1px 3px rgba(0,0,0, .4);
      margin:0;
      padding:0;
      background:#EEE;
      background:#e1e4f2;
      border: 1px solid #48B;
      line-height:2em;
      height:3em;
      font-size:0.8em;
      text-align:center;
    }
    /* Barre de menu principale */
    #menu a {
      display:block;
      margin:0;
      padding:0.5em;
      font-weight:bold;
      text-decoration:none;
      color:#00F;
    }
    #menu  ul{
      display:none;
      position:absolute;
      margin:0;
      padding:0;
      left:0;
      top:3.0em; /* hauteur du bandeau principal = hauteur + padding */
      line-height:1.5em;
    }
    #menu li {
      margin:0.3em;
      padding:0em;
      float:left;
      position:relative;
      list-style: none;
      text-align:left;
    }
    /* modification lien sous menus */
    #menu ul li a {
      color:#666;
      font-weight:normal;
    }
    #menu li:hover > a {
      background:#4D90FE;
     
      color:#FFF;
    }
    #menu li:hover > ul{
      display: block;/**/
      /* propriétés suivantes mises sur le HOVER, bug sur IE7 */
      background:#FEFEFF;
      border:solid 1px #48B;
    }
    /* position et dimension des sous menus */
    #menu ul li {
      margin:0;
      width:7em;
    }
     
    #menu ul ul {
      left:100%; /* décalage de la largeur des LI 100% permet de ne pas gérer la largeur des LI */
      top: -1px; /* tient compte de la largeur de la bordure */
    }
    #menu ul.col_2{
      width:200%; 
      background-color : "white";
      z-index : 9999;  
    }
     
     
    #menu ul.col1_decal{
      top:-38px;
    }
     
    #menu ul.col2_decal{
      top:-90px;
    }
     
    #menu ul.col2_video_decal{
      top:-53px;
    }
     
    #menu ul.col2_club_decal{;
      top:-38px;
    }
     
    #menu ul.col_3{
      width:300%; 
    }
     
     
    /* indicateur de présence d'un sous menu */
    a.plus:after{
      content: "\25BA";
      float:right;
      color:#ABC;
    }
     
     
    #idsize {
    height:90%;
    width:100%;
    font-size:80%;
     
    overflow-x: scroll;
    }
     
    #credit {
    background-color:black;
    color:white;
    width:111.1%;
    }
     
    nav {
    z-index : 9999;
    position:relative;
    top:0;
    left:0;
    }
     
    header {
    z-index : 9999;
    position:relative;
    top:0;
    left:0;
    margin-left:0px;
    }
     
    #aside_width {
    background-color:white;
    /*float:right;*/
    margin-left:700px;
    width:350px;
    text-align : center;
    }
     
    #section {
    float:left;
    }
     
    /* muco */
    #accueil {
    background-image: url("../accueil/bkgnd.png");
    background-repeat: no-repeat;
    }
     
    #bilan2011,.family-arial{
    font-family : Arial;
    margin:0px;
    }
     
    .center {
    text-align:center;
    }
     
    .bold {
    font-weight:bold;
    }
     
    .size2 {
    font-size : 2;
    }
     
    .size1 {
    font-size : 1;
    }
     
    .color-black {
    color:black;
    }
     
    nav {
    margin-right : 100px;
    }

    et le menu :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="page">
    <ul id="menu">
    <!-- une liste standard -->
     
    </ul>
    </div>

    Que faut-il changer ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Membre éclairé
    Avatar de s0h3ck
    Inscrit en
    Mars 2013
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 181
    Points : 871
    Points
    871
    Par défaut
    Bonjour,

    Voici une solution à votre problème (en me fiant à ta page 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
    #menu {
        /* */
        list-style: none outside none; 
    }
    
    #menu li {
        display: inline-block;
        float: left;  
        margin: 0.3em;
        text-align: left;
        list-style: none outside none;
        /* */
    }
    Commentaires :
    Dans cette page exemple, la feuille de style en cascade contient beaucoup de sélecteurs et de propriétés inutiles en se basant sur le fichier HTML.
    De plus, le choix des balises comme nav et ensuite un div me semble être un « pléonasme CSS ».
    En ce sens, faites très attention, car le code n'est pas très soigné de mon point de vue. (La bonne nouvelle, on est là pour vous aider. )

    J'espère avoir éclairé vos lanternes pour cette question,
    Passez une belle journée!
    N'oubliez pas de marquer votre sujet comme et de mettre des aux messages apportant un plus à votre discussion.

    « Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément » Boileau.
    « Le mystère fait découvrir une autre dimension » mon imagination.





  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Merci beaucoup de chercher à m'aider.

    Tout d'abord, le "pléonasme" css vient probablement du fait que son auteur n'envisageait pas son menu soit intégré dans une balise nav...

    A 2:48, j'aurais plutôt souhaiter une bonne nuit qu'une bonne journée !

    J'ai suivi les conseils (je pense) mais le menu reste non aligné. Voici le css tel que je l'ai modifié :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #menu {
    /* */
      list-style: none outside none; 
    }
     
    #menu li {
      margin:0.3em;
      padding:0em;
      display: inline-block;
    }
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je propose une solution, même s'il me semble que c'était largement dans vos cordes.
    La solution pourrait être plus simple avec le menu DANS le header.

    PS: J'ai simplifié le code, pour l'exemple et parce qu'il n'est vraiment pas soigné en effet, et beaucoup trop compliqué pour le résultat attendu.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="UTF-8" />
      <title>Accueil - Vaincre la mucoviscidose</title>
    </head>
    <body>
     
    <header class="forsite header"><!-- début En-tête de site -->
      <img alt="Vaincre la mucoviscidose"
        src="http://viradeduvercors.org/html5//banusr.gif" />
    </header>
    <nav class="forsite">
      <ul class="menu">
        <li><a href="../accueil/accueil_muco.php">Accueil</a></li> 
        <li><a href="../contact/contact.php">Contact</a></li> 
        <li><a href="../video/video.php">Vidéos</a></li>
        <li><a href="#">Photos</a></li>
        <li><a href="../furon/furon.php">Ronde du Furon</a></li>
        <li><a href="../muconcert/muconcert.php">Muconcerts</a></li>
        <li><a href="#">Muco-roue</a></li>
      </ul>
    </nav><!-- fin En-tête de site -->
     
    <main>
      <h1>Accueil</h1>
    </main>
     
    </body>
    </html>

    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
    body {
      background: #CCC;
    }
    .forsite {
      width: 80%;
      /* Valeur possible */
      margin: auto;
      text-align: center;
    }
    .header img {
      max-width: 100%;
      /* Pour que l'image ne déborde pas */
    }
    .menu {
      margin: 0;
      padding: 0;
      border: thin solid #48B;
      border-radius: 2em;
      line-height: 2em;
      background: #EEE;
    }
    .menu li {
      display: inline;
    }
    .menu a {
      display: inline-block;
      padding: 0 1em;
    }

  5. #5
    Membre éclairé
    Avatar de s0h3ck
    Inscrit en
    Mars 2013
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 181
    Points : 871
    Points
    871
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #menu li {
      margin:0.3em;
      padding:0em;
      display: inline-block;
    }

    Avez-vous vraiment besoin de cette propriété margin:0.3em; ?
    Un autre commentaire : rester cohérent dans l'ensemble de la feuille de style en cascade. Exemple : padding: 0em; ou pading: 0;.

    Bonne continuité,
    s0h3ck.
    N'oubliez pas de marquer votre sujet comme et de mettre des aux messages apportant un plus à votre discussion.

    « Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément » Boileau.
    « Le mystère fait découvrir une autre dimension » mon imagination.





  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Merci beaucoup pour l'aide apportée, mais malgré une petite modif dans le css, je n'arrive pas au résultat escompté : http://viradeduvercors.org/html5/squ...ettemuchos.php avec 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
    body {
      background: #CCC;
    }
    .forsite {
      width: 80%;
      /* Valeur possible */
      margin: auto;
      text-align: center;
    }
    .header img {
      max-width: 100%;
      /* Pour que l'image ne déborde pas */
    }
    .menu {
      margin: 0;
      padding: 0;
      border: thin solid #48B;
      border-radius: 2em;
      line-height: 2em;
      background: #EEE;
    }
    .menu li {
     display: inline;
    }
    .menu li li {
    display:block;
    }
    .menu a {
      display: inline-block;
      padding: 0 1em;
    }
    et le 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
    <header class="forsite header">
    <?php include("../entete.php"); ?>
    </header>
    <nav class="forsite">
    <?php include("../menumuchos.php"); ?>
    </nav>
     
    <section>
    <article >
    squelette
    </article>
     
    </section>
    menumuchos.php :
    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
    22
    23
    24
    <ul class="menu">
    <li ><a href="../accueil/accueil_muco.php">Accueil</a></li> 
    <li ><a href="../contact/contact.php">Contact</a></li> 
    <li ><a href="../video/video.php">Vidéos</a></li>
    <li ><a href="#">Photos</a>
    	<ul>
    		<li><a href="../2009/2009.php">Virade 2009</a></li>
    		<li><a href="../2010/2010.php">Virade 2010</a></li>
    	</ul>
    </li>
    <li ><a href="../furon/furon.php">Ronde du Furon</a></li>
    <li><a href="../muconcert/muconcert.php">Muconcerts</a></li>
    <li><a href="#">Muco-roue</a>
    	<ul>
    		<li><a href="../presmucoroue/presmucoroue.php">Présentation Muco-roue</a></li>
    		<li><a href="../mucoroue2008/mucoroue2008.php">Photos 2008</a></li>
    		<li><a href="../mucoroue2009/mucoroue2009.php">Photos 2009</a></li>
    		<li><a href="../mucoroue2010/mucoroue2010.php">Photos 2010</a></li>
    		<li><a href="../mucoroue2011/mucoroue2011.php">Photos 2011</a></li>
     
    	</ul>
    </li>
     
    </ul>
    ce que je souhaiterais, c'est tout sur une seule ligne (de "accueil" à "Muco-roue") et que les sous-menus (par exemple "virade 2009" et "virade 2010") n'apparaissent que sur survol du menu (ici "Photos")
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    @ s0h3ck : le code que je présentais n'est pas de moi et la solution proposée par Muchos est bien plus simple ; donc je préfère, mais comme je viens de le dire, elle ne répond tout-à-fait à mon besoin...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Membre éclairé
    Avatar de s0h3ck
    Inscrit en
    Mars 2013
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 181
    Points : 871
    Points
    871
    Par défaut
    Suite à votre demande et en faisant coup de pouce sur la modification de votre code par Muchos :

    Voici le 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>JS Bin</title>
    </head>
    <body>
      <header>
          <img src="http://viradeduvercors.org/html5/banusr.gif" alt=""/>
      </header>
      <nav>
          <ul>
              <li><a href="../accueil/accueil_muco.php">Accueil</a></li> 
              <li><a href="../contact/contact.php">Contact</a></li> 
              <li><a href="../video/video.php">Vidéos</a></li>
              <li><a href="#">Photos</a>
                  <ul>
                      <li><a href="../2009/2009.php">Virade 2009</a></li>
                      <li><a href="../2010/2010.php">Virade 2010</a></li>
                  </ul>
              </li>
              <li><a href="../furon/furon.php">Ronde du Furon</a></li>
              <li><a href="../muconcert/muconcert.php">Muconcerts</a></li>
              <li><a href="#">Muco-roue</a>
                  <ul>
                      <li><a href="../presmucoroue/presmucoroue.php">Présentation Muco-roue</a></li>
                      <li><a href="../mucoroue2008/mucoroue2008.php">Photos 2008</a></li>
                      <li><a href="../mucoroue2009/mucoroue2009.php">Photos 2009</a></li>
                      <li><a href="../mucoroue2010/mucoroue2010.php">Photos 2010</a></li>
                      <li><a href="../mucoroue2011/mucoroue2011.php">Photos 2011</a></li>
                  </ul>
              </li>
          </ul>
      </nav>
     
      <section>
          <article>
              <p>Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.</p>
          </article>
      </section>
    </body>
    </html>

    Le code 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
    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
    body {
      background: #CCC;
      width: 80%;
      margin: auto;
    }
     
    header img {
      display: block;
      margin-top: 10px;
      margin-bottom: 10px;
      margin-left: auto;
      margin-right: auto;
    }
     
    nav {
      text-align: center;
      border: thin solid #48B;
      border-radius: 2em;
      line-height: 2em;
      background: #EEE;
    }
     
    nav ul {
      margin: 0;
      padding: 0;
     
    }
    nav ul li {
        display: inline-block;
    }
    nav ul li li {
        display:block;
    }
     
    nav ul li ul {
        display: none;
    }
     
    nav ul li a {
        display: block;
        text-decoration: none;
        padding: 0 1em;
    }
     
    nav ul li:hover ul {
        display: block;
        width: 150px;
        position: absolute;
    }
     
    nav ul li:hover a {
        background:  rgb(85,186,218);
    }
     
    nav ul li:hover a:hover {
        background:  rgb(85,255,255);
    }
     
    nav ul li:hover ul li:hover a {
        background: rgb(85,255,255);
    }
     
    section article p {
      text-align: justify;
    }

    Et le JS Bin (edit) avec le JS Bin (view).

    Pour information :
    Lire la théorie des menus déroulants en CSS (ou « dropdown menu »).

    J'espère que tous les mystères sont résolus
    s0h3ck.

    Prendre note que je vais éditer ce post un peu plus tard ainsi que le jsFiddle pour plus de clarté. Merci de votre compréhension.
    Edit: Changement effectué! Version plus "clean".
    N'oubliez pas de marquer votre sujet comme et de mettre des aux messages apportant un plus à votre discussion.

    « Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément » Boileau.
    « Le mystère fait découvrir une autre dimension » mon imagination.





  9. #9
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 957
    Points : 44 121
    Points
    44 121
    Par défaut
    Bonjour,
    Tout d'abord, le "pléonasme" css vient probablement du fait que son auteur n'envisageait pas son menu soit intégré dans une balise nav...
    le code que je présentais n'est pas de moi ...
    Les codes que tu proposes et qui sont issus de ce forum FONCTIONNENT mais avant de les modifier/massacrer il serait bon que tu prennes ENFIN conscience que le CSS, tout comme le HTML, demande un minimum d'efforts d'apprentissage ce que tu n'as visiblement toujours pas assimilé.

    Si je regarde bien cela fait maintenant plusieurs mois que tu essaies de mettre au point un menu simple dont tu ne sais toujours pas à quoi tu veux qu'il ressemble.

    Il me semble INDISPENSABLE que tu fasses des efforts et comme le dit s0h3ck
    Lire la théorie des menus déroulants en CSS (ou « dropdown menu »).

  10. #10
    Membre éclairé
    Avatar de s0h3ck
    Inscrit en
    Mars 2013
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 181
    Points : 871
    Points
    871
    Par défaut
    @laurentSc

    Si le HTML est douteux (soit des concepts qui te semblent flous), prends une simple heure à lire et à comprendre ce joli tutoriel (ici).
    Ensuite, une fois la base HTML solide (je dirais bonne compréhension des balises sémantiques et structure cohérente), on s'attaque au CSS.

    Pour le CSS, il y a plein d'autres tutoriels intéressants. Voici la liste des « cours » offerts ici.
    Enfin, lire la FAQ CSS est vraiment amusant aussi.
    Voici le lien de la FAQ : ici.

    Un autre commentaire :
    L'apprentissage peut paraitre douloureux au début surtout lorsqu'on veut que les choses soient vite faites, mais je te dirais que l'astuce c'est de bien assimiler les concepts de base pour pouvoir forger de bons outils et pour réussir à construire « fluidement » des sites web.

    Bonne lecture et pratique,
    s0h3ck.
    N'oubliez pas de marquer votre sujet comme et de mettre des aux messages apportant un plus à votre discussion.

    « Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément » Boileau.
    « Le mystère fait découvrir une autre dimension » mon imagination.





  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Merci pour cette incitation à faire des efforts (comme le dit NoSmoking), et comme le sujet m'intéresse énormément, je vais le faire.

    Et merci aussi pour le "coup de pouce" ; par contre, si tu as mis à jour le JsFiddle, je doute que tu l'ais fait pour le code ; or, maintenant, le JsFiddle n'est plus éditable (alors que quand il l'était, j'avais vu que ça répondait parfaitement à mon besoin).

    Voici le code actuel :
    Code html+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
    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
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>JS Bin</title>
    <style>
    body {
      background: #CCC;
      width: 80%;
      margin: auto;
    }
     
    header img {
      display: block;
      margin-top: 100px;
      margin-bottom: 10px;
      margin-left: auto;
      margin-right: auto;
    }
     
    nav {
      text-align: center;
      border: thin solid #48B;
      border-radius: 2em;
      line-height: 2em;
      background: #EEE;
    }
     
    nav ul {
      margin: 0;
      padding: 0;
     
    }
    nav ul li {
        display: inline-block;
    }
    nav ul li li {
        display:block;
    }
     
    nav ul li ul {
        display: none;
    }
     
    nav ul li a {
        display: block;
        text-decoration: none;
        padding: 0 1em;
    }
     
    nav ul li:hover ul {
        display: block;
        width: 150px;
        position: absolute;
    }
     
    nav ul li:hover a {
        background:  rgb(85,186,218);
    }
     
    nav ul li:hover a:hover {
        background:  rgb(85,255,255);
    }
     
    nav ul li:hover ul li:hover a {
        background: rgb(85,255,255);
    }
     
    section article p {
      text-align: justify;
    } 
     
    </style>
    </head>
    <body>
      <header>
          <img src="http://viradeduvercors.org/html5/banusr.gif" alt=""/>
      </header>
      <nav>
          <ul>
              <li><a href="../accueil/accueil_muco.php">Accueil</a></li> 
              <li><a href="../contact/contact.php">Contact</a></li> 
              <li><a href="../video/video.php">Vidéos</a></li>
              <li><a href="#">Photos</a>
                  <ul>
                      <li><a href="../2009/2009.php">Virade 2009</a></li>
                      <li><a href="../2010/2010.php">Virade 2010</a></li>
                  </ul>
              </li>
              <li><a href="../furon/furon.php">Ronde du Furon</a></li>
              <li><a href="../muconcert/muconcert.php">Muconcerts</a></li>
              <li><a href="#">Muco-roue</a>
                  <ul>
                      <li><a href="../presmucoroue/presmucoroue.php">Présentation Muco-roue</a></li>
                      <li><a href="../mucoroue2008/mucoroue2008.php">Photos 2008</a></li>
                      <li><a href="../mucoroue2009/mucoroue2009.php">Photos 2009</a></li>
                      <li><a href="../mucoroue2010/mucoroue2010.php">Photos 2010</a></li>
                      <li><a href="../mucoroue2011/mucoroue2011.php">Photos 2011</a></li>
                  </ul>
              </li>
          </ul>
      </nav>
     
      <section>
          <article>
              <p>Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur? [33] At vero eos et accusamus et iusto odio dignissimos ducimus, qui blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.</p>
          </article>
      </section>
    </body>
    </html>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  12. #12
    Membre éclairé
    Avatar de s0h3ck
    Inscrit en
    Mars 2013
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 181
    Points : 871
    Points
    871
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    par contre, si tu as mis à jour le JsFiddle, je doute que tu l'ais fait pour le code ; or, maintenant, le JsFiddle n'est plus éditable (alors que quand il l'était, j'avais vu que ça répondait parfaitement à mon besoin).
    En fait, tu peux regarder les liens JS Bin. Les deux fonctionnent très bien. Du coup, si le JsFiddle répondait à ce que tu cherchais, je peux toujours réanimer le lien s'il n'est pas trop tard.
    N'oubliez pas de marquer votre sujet comme et de mettre des aux messages apportant un plus à votre discussion.

    « Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément » Boileau.
    « Le mystère fait découvrir une autre dimension » mon imagination.





  13. #13
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Pas la peine de réactiver quoique ce soit car le bin, c'est bon...En fait, c'est beaucoup mieux, même s'il y a encore un truc qui me chagrine, sauf que je compte étudier les liens fournis et essayer de le résoudre moi-même ; si j'ai encore un souci, je reviendrai.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    c'est normal que j'ai un comportement différent sur les 3 navigateurs que j'essaye ? (IE8, FF et Chrome) (sachant que j'ai intégré le code css dans mon site : http://viradeduvercors.org/html5/acc...cueil_muco.php (le css n'est pas du tout pris en compte par IE8 et l'alignement du menu est très différent entre FF et Chrome (le plus fidèle au Fiddle étant Chrome)).
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  15. #15
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    • Pourquoi y a-t-il en bas du fichier CSS nav { margin-right: 100px; } ? Ça casse l'alignement !
    • Pourquoi cette #aside_width qui contient un tableau (?) avec des rangées à une cellule (??) ?
    • Pourquoi vous conservez les vieux commentaires ?
    • Pourquoi vous ne validez pas vos pages pour corriger votre code facilement?

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Merci des réponses et surtout de la 2e car en remplaçant cette table par une liste, ça marche bien sur les 3 navigateurs (j'ai pris en compte les 4 remarques ). Par contre, il y a un truc simple que je n'arrive pas à faire : supprimer les puces de cette liste. Voici ce que j'ai fait mais qui ne marche pas :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <aside id="aside_width">
    <ul>
    <li><a href="dossier_de_presse_Virades_de_lespoir_2011_local.pdf" target="_blank">Dossier de presse local virade 2011</a></li>
    <li><a href="Communique_Muconcerts_2011.pdf" target="_blank">Communique de presse pour les muconcerts 2011</a></li>
    <li><a href="courrier_V3__donateurs_vir._2011_.pdf" target="_blank">courrier complet donateurs virade 2011</a></li>
    </ul>
    </aside>

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #aside_width {
    list-style-type:none;
    background-color:white;
    margin-left:700px;
    width:350px;
    text-align : center;
    }
    (la ligne 2 du CSS...)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  17. #17
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    Il faut appliquer la règle CSS concernant les puces sur l'élément… qui génère les puces (UL) !

  18. #18
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut


    c'est mieux comme ça :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #aside_width {
    background-color:white;
    margin-left:700px;
    width:350px;
    text-align : center;
    }
     
    #aside_width ul {
    list-style-type:none;
    }
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  19. #19
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 374
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par s0h3ck Voir le message
    @laurentSc

    Si le HTML est douteux (soit des concepts qui te semblent flous), prends une simple heure à lire et à comprendre ce joli tutoriel (ici).
    Ensuite, une fois la base HTML solide (je dirais bonne compréhension des balises sémantiques et structure cohérente), on s'attaque au CSS.

    Bonne lecture et pratique,
    s0h3ck.
    Une question par rapport à ça ; j'ai fini de lire le tuto sur html5 et en fait, ce que je constate ne pas maîtriser, c'est l'ensemble des nouveautés apportées par html5, comme :
    - stockage de données (dataset) ;
    - les dessins (balise canvas) ;
    - la géolocalisation...

    Par contre, j'ai bien assimilé la nouvelle sémantique (section, article, aside, footer, header...).
    Est-ce nécessaire de passer du temps à assimiler ce qui ne l'est pas, ou bien puis-je me concentrer désormais sur le CSS ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  20. #20
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ca dépend de tes besoins immédiats, ou de ton envie d'apprendre.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. centrer un menu horizontal
    Par philippef dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 27/08/2007, 12h34
  2. Centrer le menu
    Par Sophie2097 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 21/02/2007, 14h32
  3. centrer le menu navigation
    Par darcy dans le forum Mise en page CSS
    Réponses: 16
    Dernier message: 14/11/2006, 17h43
  4. [css] Centrer un menu
    Par kilinette dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 04/06/2005, 16h47

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