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 :

Rendre une div responsive en hauteur avec FlexBox


Sujet :

Responsive design en CSS

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 39
    Points : 43
    Points
    43
    Par défaut Rendre une div responsive en hauteur avec FlexBox
    Bonjour,
    J'ai 9 div, 3 par ligne et je souhaite lorsque je modifie la taille de la fenêtre du navigateur en hauteur que les div se modifie en conséquence . J'arrive à le faire en largeur en utilisant un width en pourcentage. Mais je n'y arrive pas en hauteur... Et je n'ai rien trouvé sur le web pour m'aider.

    Voici mon code :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <!DOCTYPE html>
    <html>
    <head>
    <style>
     
    body{
            min-width:300px;
            min-height: 300px;
    }
     
    .flex-container {
      display: flex;
      flex-wrap: wrap; 
      background-color: DodgerBlue;
      justify-content: space-between;
    }
     
    .flex-container > div {
      background-color: #f1f1f1;
      margin: 10px;
      width: 25%;
      height: 25%;
      text-align: center;
      line-height: 75px;
      font-size: 30px;
    }
    </style>
    </head>
    <body>
    <h1>Flexible Boxes</h1>
     
    <div class="flex-container">
      <div>1</div>
      <div>2</div>
      <div>3</div>  
      <div>4</div>
      <div>5</div>
      <div>6</div>  
      <div>7</div>
      <div>8</div>
      <div>9</div> 
    </div>
    </body>
    </html>
    Merci beaucoup pour votre aide.

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

    ...en hauteur que les div se modifie en conséquence...
    quel est le comportement attendu ?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 39
    Points : 43
    Points
    43
    Par défaut
    Je souhaite que les div augmentent en hauteur si j'augmente en hauteur la fenêtre de mon navigateur et inversement qu'elles diminuent si je diminue en hauteur la taille de la fenêtre de mon navigateur.
    Concernant la largeur cela fonctionne parfaitement. Lorsque j'augmente la largeur de la fenêtre de mon navigateur la largeur de mes div augmentent proportionnellement. Idem pour la diminution jusqu'à la taille minimale définie dans le CSS.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 39
    Points : 43
    Points
    43
    Par défaut
    Bonsoir,
    Je me réponds à moi-même. J'ai trouvé une solution possible pour mon problème. Cf. code ci-dessous.

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <html>
    <head>
    <style>
     html, body {
            padding : 0;
            margin : 0;
            height : 100%;
    }
     
    .flex-container {
            display: flex;
        flex-wrap: wrap; 
            justify-content: stretch; /*space-evenly;*/
            height: 100%; 
            background-color: DodgerBlue;
    }
     
    .flex-container > div {
            background-color: #f1f1f1;
            margin: 1px;
            width: 25%; 
            text-align: center;
            line-height: 75px;
            font-size: 30px;
    }
    </style>
    </head>
    <body>
    <h1>Flexible Boxes</h1>
    <div class="flex-container">
      <div>1</div>
      <div>2</div>
      <div>3</div>  
      <div>4</div>
      <div>5</div>
      <div>6</div>  
      <div>7</div>
      <div>8</div>
      <div>9</div>
    </div>
    </body>
    </html>

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 957
    Points : 44 119
    Points
    44 119
    Par défaut
    Bonjour,
    la partie flexible de ta page déborde dans ton cas attendu que tu la fixe à 100% du parent, <body> dans ton cas, et qu'il y a un <h1> en tête.

    Ajoute à ton CSS un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    body {
      display: flex;
      flex-direction: column;
    }
    oui du flex dans du flex, la scrollbar verticale devrait disparaître.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 39
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    Super !!! ça marche nickel chrome....
    Encore merci pour votre aide. Sujet résolu.

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

Discussions similaires

  1. Rendre une div non scrollable voire la masquer lors d'un scroll ?
    Par dhillig dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/11/2015, 15h31
  2. Rafraichir une <DIV> pour un calendrier avec jquery
    Par DoumCSS dans le forum jQuery
    Réponses: 8
    Dernier message: 21/07/2013, 23h16
  3. [MooTools] Rendre une div cliquable
    Par al3xzo dans le forum Bibliothèques & Frameworks
    Réponses: 16
    Dernier message: 23/05/2010, 10h53
  4. Afficher une div centrée en hauteur sur une page scrollée
    Par nero76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/07/2009, 09h21
  5. Problème de hauteur d'une div avec background
    Par Yoteco dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/01/2007, 15h17

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