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 :

Disposer mes éléments sur 2 lignes


Sujet :

Tableau en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Disposer mes éléments sur 2 lignes
    Bonjour,

    Je souhaiterai afficher mes 6 éléments sur 2 lignes, c'est à dire 3 items centrer sur la première ligne et et les 3 éléments sur la seconde ligne.

    En cherchant sur google, on pourrait le faire avec la propriété flex-wrap: wrap;
    https://developer.mozilla.org/fr/docs/Web/CSS/flex-wrap


    J'ai essayé ceci mais ça n'a pas l'air de fonctionner...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .service .flex-container {
      width: 70%;
      display:flex;
      margin: 0 auto;
      flex-wrap: wrap;
     
    }

    Voici une aide de mon HTML et CSS, je vous remercie pour votre aide.
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <!-- Service Start -->
            <div class="service">
     
                 <div class="flex-container">
     
                   <div class="service-item"> 
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Heal emotions</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
     
                  <div class="service-item">
                    <div class="row active">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
     
                  <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
     
                 <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>  
     
                 <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
     
                 <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>  
     
     
     
              </div>
            </div>
            <!-- Service End -->

    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
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    /*******************************/
    /********* Service CSS *********/
    /*******************************/
     
     
    .service {
        position: relative;
        width: 100%;
    }
     
    .service .flex-container {
      width: 70%;
      display:flex;
      margin: 0 auto;
      flex-wrap: wrap;
     
    }
     
    .service-item {
      flex: 1;
      width: 0;
     
    }
     
    .service-item:not(:last-child) {
      margin-right: 1em;
    }
     
     
    .service .row {
      border: 1px solid ;
      margin: 0;
      padding: 0;
     
    }
     
    .service .row .icone {
      width: 100px;
      height: 100px;
      background: #F4B7DB;
      border-radius: 50%;
      margin: 23px auto 0 auto;
    }
     
    .service .row .service-title {
      font-size: 1.5em;
      text-align: center;
      font-weight: 600;
      transition: .3s;
    }
     
    .service .row .service-text {
      font-size: 18px;
      text-align: center;
      margin: 0px 15px 20px 15px;
    }
     
     
    .service .row:hover,
    .service .row.active {
      background: #343148;
      color: #ffffff;
    }
     
    .service .row:hover h3,
    .service .row.active h3 {
        color: #F7CAC9;
    }

  2. #2
    Membre Expert Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Par défaut
    En utilisant 2 fois la class "flex-container" ?
    ex :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
            <div class="service">
     
                <div class="flex-container"> <!-- ************** ICI *********** -->
     
                   <div class="service-item"> 
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Heal emotions</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
     
                  <div class="service-item">
                    <div class="row active">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
     
                  <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
                </div> <!-- ************** on ferme ICI *********** -->
                <div class="flex-container"> <!-- ************** ICI *********** -->
                   <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>  
     
                 <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>
     
                 <div class="service-item">
                    <div class="row">
                      <div class="icone"></div>
                      <h3 class="service-title">Body Refreshes</h3>
                      <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
                    </div>
                  </div>  
     
              </div> <!-- ************** ICI *********** -->
            </div> <!-- ************** ICI *********** -->

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Bonsoir vttman,

    C'est ce que j'avais fait sauf que je ne sais pas si c'est une bonne méthode?

  4. #4
    Membre Expert Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Par défaut
    ... en css, il me semble, que c'est déjà bien d'arriver au résultat que l'on souhaite aux résolutions les plus répandues (PC, tablette, smartphone, TV HD etc.) et sur les navigateurs les plus courants.
    Est-ce suffisant ? Pour les puristes surement NON ! il y a aura toujours à redire ... et à apprendre (tant mieux)

  5. #5
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Tu as raison... Merci pour tes explications. Je vais suivre tes conseils.

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 224
    Par défaut
    Bonjour,
    Citation Envoyé par vttman
    En utilisant 2 fois la class "flex-container" ?
    on peut s'en passer en initialisant la propriété flex-basis sur les éléments service-item :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .service-item {
      flex: 1 0 33%;     /* ajout flex-basis */
      width: auto;       /* mettre à auto */
    }
    .service-item:not(:last-child) {
    /* margin-right: 1em; /* a supprimer */
    }


    Citation Envoyé par Tamzoro
    C'est ce que j'avais fait sauf que je ne sais pas si c'est une bonne méthode?
    Moins tu as d'éléments dans ton code meilleur cela sera, et tu peux même déplacer/ajouter des classes dans ton cas pour supprimer un élément <div> inutile :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="service-item row"> 
      <!--<div class="row">-->
        <div class="icone"></div>
        <h3 class="service-title">Heal emotions</h3>
        <p class="service-text">Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non</p>
      <!--</div>-->
    </div>

  7. #7
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Bonsoir,

    Merci beaucoup pour tes explications NoSmoking.

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

Discussions similaires

  1. [MySQL-5.5] Filtrer un élément sur plusieurs lignes
    Par vence38 dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/10/2014, 18h57
  2. Disposer des controles sur des lignes
    Par krunch dans le forum jQuery
    Réponses: 5
    Dernier message: 18/03/2013, 00h04
  3. Comment disposer deux formulaires sur la même ligne ??
    Par soad029 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 05/05/2007, 05h14
  4. [CSS][firefox]positionner mes div sur une seule ligne
    Par hansaplast dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 29/03/2006, 15h44
  5. 2 éléments sur une même ligne
    Par ben_iap dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/11/2004, 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