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 :

Container qui centre tous mes DIV


Sujet :

CSS

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Container qui centre tous mes DIV
    Bonjour à tous !

    J'ai un petit soucis (de débutant) et je n'arrive pas à trouver la solution.

    J'ai un site dont la structure est comme sur l'image : http://www.hawaii.edu/lis/webteam/wo...s/image014.gif

    Mon <div id="container"> est centré et le soucis que j'ai c'est que tous les div suivants (ses enfants) sont aussi centrés.

    Je ne veux pas que mon <div id="banner"> soit centré, je veux qu'il prenne toute la largeur de la page, comment faire pour qu'il n'est pas la même largeur que son parent ? Je ne veux pas le sortir de son parent car la sémantique n'aurait plus aucun sens

    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
    <!DOCTYPE html>
    <html>
     
    <body>
     
        <div id="container">
          <div id="banner">
          </div>
          <div id="nav">
          </div>
         </div>
     
    </body>
    </html>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #container
    {
      margin: 0 auto;
      width: 960px;
    }

  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
    Ben tu mettrais ton code css complet ça aiderait. Comment veux-tu qu'on devine ce que tu as codé dans banner? et nav et la suite?
    Ca me parait normal que banner soit centré. Pour le reste nav en flottant et un margin-left pour content et un petit clear:both pour le footer. Rien de bien compliqué, c'est dans plusieurs tuto.

  3. #3
    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

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour, et bienvenue sur DVP

    Citation Envoyé par G-Lib Voir le message
    Je ne veux pas le sortir de son parent car la sémantique n'aurait plus aucun sens
    Parler de "sémantique" avec le code que tu montres ???

    Si tu veux un code avec du "sens sémantique", il faut utiliser les balises HTML5 : Introduction à HTML5 (sauf <hgroup>, qui est déprécié)

    Citation Envoyé par G-Lib Voir le message
    Je ne veux pas que mon <div id="banner"> soit centré, je veux qu'il prenne toute la largeur de la page, comment faire pour qu'il n'est pas la même largeur que son parent ?
    A part en le mettant en position:fixed; (ou position:absolute si #container N'est PAS positionné), il restera DANS son parent.

    Et je ne vois pas ce qu'il y a de "non-sémantique" dans le fait de le mettre au dessus de #container



    @JefReb
    Tu n'as pas compris la demande : la bannière doit faire toute la largeur de la PAGE / fenêtre.
    Cela dit, ton utilisation des balises HTML5 est (à peu près) correcte

    Par contre, ton CSS, non :
    • la méthode de disposition n'est pas bonne
    • pour être "responsive friendly", il est préférable d'utiliser (pour les largeurs) le % plutôt que le px.


    Voici une solution sémantiquement correcte (utilisant les flexbox CSS) : http://codepen.io/jreaux62/pen/aJzqVd

    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
    <!DOCTYPE html>
    <html>
    <head>
    	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
    </head>
    <body>
      <header>
        bannière
      </header>
     
      <main>
        <nav>
          menu
        </nav>
        <section>
          <article>
            article 1
          </article>
          <article>
            article 2
          </article>
        </section>
      </main>
     
      <footer>
        footer
      </footer>
    </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
    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
    * {
      margin:0; padding:0;
    }
    * {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }
    /* permet de définir les largeurs, sans tenir compte des border / padding */
     
    html,
    body {
      height: 100%;
      min-height: 100%; /* I.E. */
      font-size: 100%;
      font-family: Georgia, "Times New Roman", Times, serif;
    }
     
    body > header {
      min-height: 100px; /* visualisation (à supprimer !) */
      border: 2px solid darkmagenta; /* visualisation (à supprimer !) */
    }
     
    body > main {
      max-width: 960px; /* le SEUL endroit où on impose la largeur en PIXELS*/
      margin: 0 auto; /* centrage horizontal dans la page */
      border: 2px solid red; /* visualisation (à supprimer !) */
      display:flex;
      flex-direction:row;
    }
     
    main > nav {
      flex: 1 1 30%;
      padding: 10px;
      border: 2px solid deepskyblue; /* visualisation (à supprimer !) */
      min-height: 100px; /* visualisation (à supprimer !) */
      margin:5px; /* visualisation (à supprimer éventuellement) */
    }
     
    main > section {
      flex: 1 1 70%;
      border: 2px solid orange; /* visualisation (à supprimer !) */
      margin:5px; /* visualisation (à supprimer éventuellement) */
    }
     
    article {
      padding: 10px;
    }
     
    body > footer {
      max-width: 960px; margin:0 auto; /* centrage, si on veut...*/
      min-height: 100px; /* visualisation (à supprimer !) */
      border: 2px solid green; /* visualisation (à supprimer !) */
    }
     
    /* PETIT PLUS */
    @media screen and (max-width:640px) {
      /* on change la disposition */
      main {
        display:flex;
        flex-direction:column;
      }
      nav {
        flex: 1 1 100%;
      }
      section {
        flex: 1 1 100%;
      }
    }
    Dernière modification par Invité ; 25/02/2017 à 15h17.

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci de votre aide !

  6. #6
    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
    @Jreaux62
    A vrai dire, j'ai pas trop cherché au vu du peu de code qu'il y avait. Sûr que j'ai fait vite et que j'ai utilisé les px au lieu de %.
    Mais la question était assez mal posée et j'ai juste voulu montré qu'il était facile de faire comme son dessin. et le dessin ne montrait pas qu'il voulait sortir la bannière du container. Et je voulais aussi montrer qu'avec html5 il y a des balises html5.
    Mais merci pour le code ... correct.

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

Discussions similaires

  1. [XSLT] Probléme avec contains
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 14/11/2007, 00h37
  2. Problème avec CONTAINS
    Par The eye dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/08/2007, 11h49
  3. Problème avec la propriété "Filter" de mes DBLookupComboBox
    Par CleeM dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/06/2007, 13h53
  4. [MySQL] problème avec les ' qui font \'
    Par Rocco-biblio dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 02/04/2006, 22h06
  5. (jsp) problème avec sql qui contient la date
    Par future dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 31/08/2005, 16h18

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