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 :

Mise en page : mélange hauteurs fixes et variables


Sujet :

Dimensionnement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Par défaut Mise en page : mélange hauteurs fixes et variables
    Bonjour à tous,

    j'ai des difficultés pour arriver à faire ma page avec :
    • un header de hauteur fixe
    • et un body en dessous qui occupe tout le RESTE de la page

    en résumé la partie de mon code concernée donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    .header 
    {height:80px;
    width:100%;
    background-color:#ffffff;}
     
    .pageAndMenu
    {height:100%;
    width:100%;
    }
    Et ce qui se passe c'est que le body dépasse la largeur de la page car il occupe toute la hauteur restante PLUS la hauteur du header (En gros il occupe 100% d'une page vide et non pas 100% de ce qui reste de ma page avec header).

    Auriez vous une idée d'un moyen pour résoudre cela ?
    J'ai tenté un : pour le body mais ça ne donne pas ce que je veux (je sais pas trop s'il est capable d'évaluer un truc pareil).

    Merci par avance !!

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Je suppose que dans ton code tu as qqchose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <body>
              <div class='header'>
              mon header, avec logo banniere par exemple
              </div>
              <div class='pageAndMenu'>
              ma page et mon menu
              </div>
    </body>
    J'ai l'impression que tu parles d'un header EN DEHORS du body, ce qui n'est pas concevable il me semble.

    Et dans ton css :

    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
     
    body {
         background-color:#777777;} // Pour mieux voir
    }
    .header 
    {
         float:left;
         height:80px;
         width:100%;
         background-color:#ffffff;
    }
     
    .pageAndMenu
    {
        float:left;
        height:600px;
        width:100%;
        background-color:#AAAAAA;
    }
    Chez moi ça marche, enfin, si j'ai compris ce que tu voulais.

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Par défaut précision
    Merci pour ta réponse.

    Autant pour moi, je me suis mal exprimée.
    Ce que j'appelle "body" c'est le pageAndMenu.
    (Pour mon code html j'ai utilisé des tables plutôt que des div ou des spam parce que je découpe ma page en tableaux à différentes dimensions, mais ça ne change rien au principe)

    Donc en fait, ce que tu as proposé marche tout à fait, mais ce que je souhaite c'est pouvoir garder une hauteur de page flexible, qui se réajuste en fonction du contenu et de la taille de la fenêtre IE.
    Donc je crois que le mieux pour ce que je veux faire c'est de mettre un Merci encore

  4. #4
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Pour le coup il ne me semble pas que ça soit vraiment possible....

    Mais bon, si tu te bases sur une taille d'écran classique 1024/768, tu retires les cadres fenetres, t'obtiens en gros du 980/740. Pour une hauteur de 740px, 80px ça représente plus ou moins 11%. Donc si tu veux, t'as juste à mettre une hauteur de 89% pour compléter ton body avec ton pageAndMenu.

    Par contre, si tu rétrécis la taille de ta fenetre t'auras du scroll, mais on peut pas tout avoir

    Si qqun a une meilleure solution j'suis aussi preneur parceque j'vois pas trop comment gérer une taille fixe + une taille variante dans une taille variante...

    EDIT : Pour le height auto c'est une solution, mais tu ne rempliras pas toujours l'intégralité de ta page....Mais si ça te convient ^^

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Par défaut suite et fin
    Ben écoutes,

    j'avoue avoir bidouillé ttaleur et m'être rendue compte qu'avec 87% ça faisait tout pile la taille de la fenêtre en plein écran, donc t'as visé juste
    J'hésite encore entre le auto et le 87% qui me rend dépendante d'une taille d'écran... Même si y'a peu de chances qu'on affiche mon petit intranet sur écran géant

    En tout cas merci encore pour tes propositions

    P.S: oops plusieurs messages sont arrivés avant que j'aie fini mon message (aléats du multitâche..)

  6. #6
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Je te conseille plutôt de suivre l'idée d'Erwan et de tout mettre dans un div conteneur de taille 100%.

    Pour les 95%, je crois qu'on est donc d'accord, 100-4 = 96%, puisqu'au delà de 1024 ma technique marche quasiment pareille ( un petit espace en bas de page franchement négligeable même avec un 1440 ).

  7. #7
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Par défaut
    Erwan31,

    je n'ai pas bien compris en quoi ta proposition de mettre le header dans un conteneur de hauteur 100% va arranger mon problème :
    Mon header et mon pageAndMenu sont dans <body>. Je lui ai donc attribué la hauteur 100% dans mon css.
    J'ai toujours le même affichage : header de hauteur fixe comme je l'ai définie et pageAndMenu qui n'occupe que la hauteur nécessaire à l'affichage du contenu que j'y ai mis

  8. #8
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut
    Citation Envoyé par mounia.n Voir le message
    Donc je crois que le mieux pour ce que je veux faire c'est de mettre un
    Bonjour,
    c'est inutile puisque auto est la valeur par default de la propriété height, même chose pour width.

    Tes width:100% sont inutiles puisque par default un élément de niveau bloc comme les div prend toute la largeur disponible, celle valeur n'est nécessaire qu'avec le positionnement:absolue ou les flottant (dans ce cas de figure).

    Pour que le height:100% puisse fonctionner, tu dois avoir déclaré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    body, html {height: 100%; margin:0; padding:0}
    Si le height:100% est pris en compte sans cette règle, c'est que tu es en mode Quirks (non standard > à éviter...). Celui-ci est par exemple déclenché si tu n'as pas mis de doctype en haut de ton document.

    Solution possible:
    Pourquoi ne mets tu pas ton div header dans un conteneur de hauteur 100%?
    Ta solution Er3van n'est valable que pour une seule taille d'écran.

  9. #9
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Effectivement ça marche comme ça, je n'y ait pensé qu'après au div de hauteur 100%.

    Ma solution ne marche que pour une taille d'écran 1024/768 de façon optimale certes, mais si l'écran est plus grand ce n'est vraiment visible, et ça marche pour 95% des tailles d'écran du marché pour le coup. Mais c'est sûr que ta solution marche mieux.

  10. #10
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut
    Citation Envoyé par Er3van Voir le message
    et ça marche pour 95% des tailles d'écran du marché pour le coup.
    Oh là t'y va un peu fort là! C'est pas 95% mais bien moins que ça, je ne me
    souviens plus des pourcentages... les écran de taille supérieur représentent
    maintenant un % relativement important alors que le 800x600 est proche du 4%
    et continue à baisser.

Discussions similaires

  1. Mise en page CSS, bandeau fixe + contenu ajustable
    Par bigben99 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 03/03/2010, 18h26
  2. Réponses: 0
    Dernier message: 06/04/2009, 10h12
  3. Définitions usuelles de la largeur et hauteur d'une mise en page
    Par Invité dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 15/12/2008, 05h06
  4. Comment donner une hauteur fixe à un tableau ou une page?
    Par debilemaniac dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 31/05/2006, 17h22
  5. La mise en page de mes états ne se fixe pas
    Par bitou11 dans le forum IHM
    Réponses: 2
    Dernier message: 30/01/2006, 18h27

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