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 :

Combler un div de menu vertical pour l'aligner avec un div de contenu


Sujet :

CSS

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut Combler un div de menu vertical pour l'aligner avec un div de contenu
    Bonjour à tous,

    Je développe un intranet avec une trame à base de div/css. J'ai une bannière et un menu horizontal en haut, une barre de menu à gauche avec le contenu à sa droite, et enfin un pied de page en bas.
    Mon contenu est bien souvent plus important en hauteur que l'ensemble de ma barre de menu à gauche. J'aimerais que cette barre s'aligne toujours par le bas avec mon contenu, en comblant le manque avec de l'espace vide... J'ai vu une solution sur internet, mais je n'arrive pas à la faire marcher, elle utilisait la propriété (?) after..

    Voici la structure de mes divs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div id="bandeau"><img src="res/bandeau.gif" alt="bandeau" /></div>
    <div id="hnav"><?php include "hnav.php"; ?></div>
    <div id="barregauche">
        <div id="user"><?php include "user.php"; ?></div>
        <div id="menu"><?php include "menu.php"; ?></div>
        <div id="liens"><?php include "liens.php"; ?></div>
    </div>
    <div id="contenu"><?php include "contenu.php"; ?></div>
    <div id="piedpage">
        <span><u>Signaler un probl&egrave;me</u></span>
    </div>
    edit: Mon code doit être compatible IE6

    Merci d'avance
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    vous m'avez pas compris, c'est trop facile, ou personne ne voit ??
    une alternative peut-être ?
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 68
    Points
    68
    Par défaut
    Salut,

    Alors soyons très clair, je suis franchement pas le mieux placé pour te répondre !

    Mais comme j'ai eu le pbs, je te mets sur la voie ...
    en CSS, ds ton conteneur je crois , tu place la propriété : "clear:both;"
    Il me semble qu'il faut chercher ds cette voie ...
    Bon courage !

  4. #4
    Membre actif Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Points : 273
    Points
    273
    Par défaut
    Salut,

    J'ai le même problème que ziggotos (d'ailleurs, voici un screenshot qui pourrait aider certains à visualiser la chose : http://img338.imageshack.us/img338/1223/sitemp2.png , dans mon cas, ce sont les deux balises div à gauche et à droite qui devraient remplir l'espace entre l'en-tête et le pied de ma page).

    @WagaSeb : La propriété "clear" n'est, d'aussi loin que je peux me souvenir, utile que dans les cas où on veut supprimer la propriété "float" de notre objet, et donc dans ce cas, inutile. Toutefois, comme tu as dit avoir déjà eu le même problème - et par conséquent, la solution aussi, ce serait bien si tu pouvais développer pour que je comprenne que faire

    Merci d'avance,

    Jihnn

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 68
    Points
    68
    Par défaut
    Pour etre franc, j'ai tout repris mon site à zero et n'ai plus les fichiers. Donc j'aurais du mal à te repondre, d'autant que j'ai vraiment tatonné... C'est dur de débuter !!
    Sinon, je supose que tu as déjà installé web-developer. En editant le CSS, tu peux voir ta page se modifier en temps réel.
    Super pratique !!!


    A+

  6. #6
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    En général on règle le problème avec une image de fond sur le div conteneur, qui contiendra la couleur/image qui doit s'afficher jsuqu'au bas. Cela fonctionne bien pour un design de taille fixe, c'est un peu plus problématique pour un design extensible selon le graphisme.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et si c'est le cas

  7. #7
    Membre actif Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Points : 273
    Points
    273
    Par défaut
    En effet, j'aurais préféré un design extensible. Tant qu'à travailler sur un projet, j'aimerais le faire le mieux possible

    Donc, y a-t-il un moyen quelconque ?

  8. #8
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par Jihnn
    y a-t-il un moyen quelconque ?
    Quel est le comportement de ton design; tout est extensible ou est-ce que tes 2 côtés sont de tailles fixes et seul le centre augmente ? auquel cas il ne devrait pas y avoir de problème en attribuant une image de fond à gauche et une à droite (avec une imbrication de div).

    Si non, cela va dépendre de ton graphisme (ton image c'est le design final?); si c'est juste un trait, cela ne va pas poser problème non plus pour mettre en %.

    Ou encore s'il s'agit que d'une bordure et que ton centre est forcément plus haut que les 2 côtés, tu peux lui attribuer un border.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et si c'est le cas

  9. #9
    Membre actif Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Points : 273
    Points
    273
    Par défaut
    La longueur devrait changer par rapport à la résolution de l'utilisateur, toutefois, comme le texte du contenu diffère de page en page, la hauteur ne sera pas fixe non plus.
    C'est pour cette raison que j'aurais aimé que la hauteur soit maximale pour toutes les balises div, c'est à dire qu'elles remplissent la hauteur entre l'en-tête et le pied de la page.

    Edit: Par exemple, y a-t-il un moyen que la valeur soit égale à la hauteur de la balise div "content" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    div#menu
    {
     min-height: div#content.height;
    }
    J'imagine que ça doit pas être aussi simple, mais si quelque chose du genre existait, ça serait bien

    Edit²: J'ai pour l'instant réglé la chose en utilisant une autre balise div qui place la bordure autour de mes autres divs, et donc ça ne paraît pas vraiment. Enfin, je suis preneur s'il y a un autre moyen efficace

Discussions similaires

  1. Problème alignement avec trois div
    Par finalfx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/05/2006, 18h48
  2. Menu vertical fixe
    Par batmat86 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 10/01/2006, 02h54
  3. Menu vertical différent sous FF et IE
    Par Myogtha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 06/12/2005, 00h29
  4. CSS Alignement vertical pour images dynamiques
    Par bébé dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 17/09/2005, 15h43

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