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 :

Div prenant tout l'espace restant, mais pas plus !


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut Div prenant tout l'espace restant, mais pas plus !
    Bonjour, le titre n'est pas très clair désolé.

    En fait je voudrais faire une page avec un div de "menu" de largeur fixe à gauche, la hauteur dépendant du contenu, et un div de "contenu" qui occuperait tout l'espace à droite restant, et toute la hauteur.
    J'avais réussi, sauf que le div de "contenu" avait une hauteur dépendant de son contenu et qui agrandissait la page.
    Je voudrais que la taille de ce div ne déborde pas de la page (que la page n'ait pas besoin de scrollbar) et qu'il contienne plutôt une scrollbar.
    J'ai essayé pas mal de choses, mais à part mettre une taille fixe à ce div (ce que je préférerais éviter), je ne suis arrivé à rien...

    Est-ce que c'est faisable ?
    merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Si j'ai bien compris, tu ne veux pas une scrollbar pour la page, mais une scrollbar juste pour le div du contenu ?

    Edit : si ton problème est bien celui-là, tu peux faire ceci dans le fichier contenant du CSS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #contenu {
    	overflow:auto; 
           width: XXXpx;    /* Largeur du div */
    	height: XXXpx;  /* Hauteur du div */
    }
    Si tu enlèves width et height, tu remarqueras que tu ne pourras pas utiliser la scrollbar.
    Dernière modification par Invité ; 23/01/2009 à 01h18.

  3. #3
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    Oui tu as très bien compris, je veux que le div ait une scrollbar, et pas la page. Le but est d'avoir le div du menu toujours visible, tandis qu'on fait défiler le contenu uniquement dans l'autre div.

    Seulement j'ai aussi précisé que j'aurais préféré ne pas utiliser de taille fixe pour l'autre div. En effet sans rien préciser il s'adapte parfaitement à la largeur de la page quelle que soit la résolution, et j'aurais voulu que la hauteur fasse pareille donc.
    J'ai approché ce que je voulais en mettant une taille au div avec des % seulement c'est approximatif, les marges par rapport au reste de la page ne sont pas belles etc.

    Donc ma question, est-ce que l'on peut faire la même chose que ce qui est dit au dessus, sans imposer de taille au div (ou en imposant une taille qui prenne exactement la place restante, mais ça c'est pas possible je crois).

  4. #4
    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
    Bonjour,
    oui tu peux le faire (la largeur n'est pas nécessaire mais tu dis avoir une hauteur dépendante de la hauteur de la zone d'affichage).
    Mais subtituer la scrollbar du navigateur à celle de ton div est une erreur ergonomique en plus d'être inesthétique.
    Mettre ton menu en position fixe (position:fixed) te permettrait d'avoir ton menu toujours affiché et faire défiler le contenu via la scrollbar du navigateur avec comme avantage de ne pas déduire de la largeur du contenu la largeur prise par la scrollbar verticale.

  5. #5
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    C'est vrai que cette solution est bien aussi, peut être plus intuitive pour les visiteurs. Par contre ça ne marche pas sur IE6 (j'ai pas le 7 pour essayer mais selon la documntation il ne le gère pas bien non plus).

    Et autre problème mon div "contenu" prend du coup toute la page et passe sous mon div "menu", est-ce que je dois le décaler à la main avec une marge à gauche, ou est-ce qu'il y a une propriété qui le place bien comme il faut ?

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonjour,

    Citation Envoyé par YoniBlond Voir le message
    Et autre problème mon div "contenu" prend du coup toute la page et passe sous mon div "menu", est-ce que je dois le décaler à la main avec une marge à gauche, ou est-ce qu'il y a une propriété qui le place bien comme il faut ?
    Oui, un margin-left = largeur de ton menu (ou un peu plus, à toi de voir) fera l'affaire.

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

Discussions similaires

  1. Une div prenant tout l'écran
    Par Caxton dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 11/03/2016, 16h09
  2. Réponses: 7
    Dernier message: 24/04/2014, 14h33
  3. Réponses: 1
    Dernier message: 13/02/2012, 11h16
  4. Hauteur div 100% de l'espace restant dans la page
    Par jimmyneutron dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 15/10/2011, 11h22
  5. Réponses: 6
    Dernier message: 06/03/2007, 17h30

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