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 :

Hauteur d'une DIV en fonction d'une autre DIV


Sujet :

Dimensionnement en CSS

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Hauteur d'une DIV en fonction d'une autre DIV
    Bonjour,

    J'ai cherché sur le net mais les réponses ne me conviennent pas.
    Donc voici mon souci. J'ai une DIV alignée à gauche qui contient un menu et une DIV à sa droite qui contiennent les pages du site.
    Je voudrai que la hauteur de la DIV qui contient le menu varie en fonction de la hauteur de la DIV de droite
    voici mon code :
    1/ le 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
    div#menu {
    	float:left;
    	width:220px;
    	height:650px;
    	background-color:#A52A2A;
    	}
    div#contenu {
    	float:left;
    	margin-left:25px;
    	margin-top: 25px;
    	width:990px;
    	color : black;
    	font-family:verdana;
    	font-size:13px;
    	}
    2/ le code de la page index (pour simplifier je donne seulement les DIV)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <div id="bandeau">
           blablabla
    </div>
    <div id="menu">
           ici le menu. Je voudrai la hauteur de cette DIV soit la même que la DIV "contenu"
    </div>
    <div id="contenu">
           La hauteur des pages qui s'affichent varient 
    </div>
    Merci d'avance de votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    FAQ CSS.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    J'ai donc cherché dans la FAQ et contrairement à ce qui est écrit sous mon profil je suis loin d'être "membre expérimenté".
    Donc si quelqu'un veut bien m'aider !!!

  4. #4
    Membre confirmé
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Points : 595
    Points
    595
    Par défaut
    Bonjour,

    Je t'ai fait un petit exemple :
    HTMl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="menu">
           ici le menu. Je voudrai la hauteur de cette DIV soit la même que la DIV "contenu"
    </div>
    <div id="contenu">
           La hauteur des pages qui saffichent varient 
    </div>
    Je crée deux div qui serviront d'exemple. Le 1er div n'a pas de hauteur définit.
    Le 2e div a une hauteur de 100px.

    CSS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #menu {
    	border:1px solid silver;
    	                 }
    #contenu {
        height:100px;
        border:1px solid silver;
    	}
    Ajout de border pour y voir plus clair sur la hauteur des div

    Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var blocMenu = document.getElementById("menu");
    var blocContenu = document.getElementById("contenu");
     
    blocMenu.style.height=blocContenu.clientHeight + "px";
    Je récupère la hauteur du <div> #contenu et je set la hauteur du <div> #menu
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre actif
    Avatar de friendofweb
    Homme Profil pro
    Amateur en informatique
    Inscrit en
    Mai 2015
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2015
    Messages : 153
    Points : 244
    Points
    244
    Par défaut
    Excellent ! J'ai testé le code avec Codepen. J'imagine que l'intérêt d'adapter la hauteur des deux div, est que les div soient alignés côte à côte. (Ce que je ne maîtrise pas encore).
    N'oubliez pas la documentation... - Initiation à HTML5 - Tutos CSS

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    en CSS3, voir :
    • display:table;
    • display:flex;
    Dernière modification par Invité ; 01/09/2015 à 14h14.

  7. #7
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Mon premier souci c'est que la DIV Contenu varie en fonction des pages affichées.
    Je me demande si le plus simple n'est pas de définir la même hauteur pour les 2 DIV. Mais cela ne me plait pas trop !!

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu pourrais au moins avoir la curiosité de tester les codes qui te sont proposés,
    et faire une recherche si nécessaire.

    Pour le code proposé :
    enlève le height:100px;(inutile), et ajoute du texte dans le contenu => tu verras ce que ça fait.

    Quant à display:table; / display:flex; :

  9. #9
    Membre actif
    Avatar de friendofweb
    Homme Profil pro
    Amateur en informatique
    Inscrit en
    Mai 2015
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2015
    Messages : 153
    Points : 244
    Points
    244
    Par défaut Bizarre le code fonctionne avec CODEPEN mais sur ma machine pas, je crée une nouvelle discussion ?
    Bonjour,

    Le code fonctionne à merveille via le site codepen, mais pas sur ma machine. Du coup, j'hésite à créer une nouvelle discussion, car je crains de sortir du sujet actuel.
    En résumé, je constate des différences, mais ne les comprends pas, avec "firebug" de Mozilla. Voici, un aperçu de ce qui est différent :

    Nom : firebug.jpg
Affichages : 1288
Taille : 24,8 Ko

    Nom : firebug2.jpg
Affichages : 1292
Taille : 31,6 Ko

    Pourtant, pour être sûr et j'ai encore vérifié, j'ai fait un simple copier coller depuis ce qui fonctionne avec codepen vers un template avec structure html5 créée au préalable, dans le body bien sûr. Et pour javascript, j'ai copier coller le code entre les balises script en précisant javascript, dans le head...

    Y aurait-il un moustique (bug) dans ma machine ?
    Qu'est-ce que je fais, je crée une nouvelle discution ?
    N'oubliez pas la documentation... - Initiation à HTML5 - Tutos CSS

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    SANS JavaScript :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <div id="main">
      <div id="menu">
        ici le menu...
      </div>
      <div id="contenu">
        La hauteur des pages qui saffichent varient<br /> 
        La hauteur des pages qui saffichent varient<br /> 
        La hauteur des pages qui saffichent varient<br /> 
        La hauteur des pages qui saffichent varient<br /> 
        La hauteur des pages qui saffichent varient<br /> 
        La hauteur des pages qui saffichent varient<br /> 
      </div>
    </div>
    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
    #main {
      display:flex;
      flex-direction:row;
    }
    #menu {
    	width:30%;
      padding:20px;
      background:green;
    }
    #contenu {
    	width:70%;
      padding:20px;
      background:yellow;
    }

  11. #11
    Membre actif
    Avatar de friendofweb
    Homme Profil pro
    Amateur en informatique
    Inscrit en
    Mai 2015
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2015
    Messages : 153
    Points : 244
    Points
    244
    Par défaut
    Merci ! Je vais expérimenter le code (demain à priori). En ce qui concerne celui du Javascript, je me concentrerai dessus plus tard (sauf si vous avez le temps), car pour l'instant, je me concentre sur le CSS pour ne pas mettre la charrue avant le bœufs..
    N'oubliez pas la documentation... - Initiation à HTML5 - Tutos CSS

  12. #12
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Je m'étais attaché à un autre problème que j'ai résolu et je viens de tester votre code. C'est tout à fait ce que je souhaitais.
    je ne connais pas du tout "display:flex" ni "flex-direction:row"

    Encore merci.

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

Discussions similaires

  1. Affichage de div en fonction d'une selectlist
    Par patxy dans le forum jQuery
    Réponses: 4
    Dernier message: 11/04/2012, 11h53
  2. Afficher une div en fonction d'une variable, sans rechargement de page
    Par skurseb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/02/2012, 09h23
  3. Afficher/Cacher une div en fonction d'une ligne
    Par student_php dans le forum jQuery
    Réponses: 0
    Dernier message: 13/11/2011, 10h55
  4. [MySQL] modifier une div en fonction d'une rubrique
    Par Stéph utilisateur d'acces dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 21/06/2011, 18h23
  5. Réponses: 2
    Dernier message: 11/02/2010, 14h29

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