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 :

Alignement bottom dans une GRID


Sujet :

Grille CSS (CSS Grid)

  1. #1
    Membre du Club
    Alignement bottom dans une GRID
    Bonjour à tous,

    je suis pas loin de ce que je veux faire sur ma grille
    mais j'aimerais que le texte de la cellule 5 soit aligné en bas et non en haut ? mais rien n'y fait je dois rater un truc.

    voir le resultat
    https://photos.app.goo.gl/RE8fYuDGHo7jKPBMA


    HTML
    Code html :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="wrapper">
      <div class="one">Un</div>
      <div class="two">Deux</div>
      <div class="three">Trois</div>
      <div class="four">Quatre</div>
      <div class="five">Cinq</div>
    </div>


    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
     
      .wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 10px;
        grid-auto-rows: minmax(100px, auto);
        border: 1px solid red;
      }
      .one {
        grid-column: 1 / 3;
        grid-row: 1;
        border: 1px solid red;
        text-align: center;
        padding: 5px;
      }
      .two {
        grid-column: 1 / 1;
        grid-row: 2;
        border: 1px solid violet;
        padding: 5px;
      }
      .three {
        grid-column: 2/2;
        grid-row: 2;
        border: 1px solid blue;
        padding: 5px;
        text-align: right;
      }
      .four {
        grid-column: 1/3;
        grid-row: 3;
        border: 1px solid green;
        padding: 5px;
      }
      .five {
        grid-column: 1/3;
        grid-row: 4;
        border: 1px solid yellow;
        padding: 5px;
        vertical-align: bottom;
        text-align: center;
        height: 100px;
        line-height: 16px;
      }
    -> SGBR=SQL SERVER 2014 <-

  2. #2
    Membre chevronné
    En attendant mieux et/ou plus simple, je propose ceci ...
    1) Entourer le texte avec une balise <p> par exemple ...
    Code HTML :Sélectionner tout -Visualiser dans une fenêtre à part
     <div class="five"><p>Cinq</p></div>


    2) Jouer avec positionnement relatif/absolu
    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
    15
    16
    17
     
    .five {
        grid-column: 1/3;
        grid-row: 4;
        border: 1px solid yellow;
        height: 100px;
        line-height: 16px;
        position:relative;  /* <=== ICI ==> */ 
     }
     
    .five p {
    position:absolute;  /* <=== mais aussi ceci ==> */ 
    bottom:0;
    margin:0;
    left:50%;  /* <=== ICI ==> */ 
    transform: translateX(-50%) translateY(-50%);  /* <=== ICI ==> */
    }
    Il ne pleut jamais en Moselle !

  3. #3
    Membre du Club
    merci de ton aide je pense voir le principe.
    je vais tester ça au plus vite.
    -> SGBR=SQL SERVER 2014 <-

  4. #4
    Modérateur

    Bonjour,
    tu pourrais également faire, avec align-self: self-end et en supprimant la height :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    .five {
        grid-column: 1/3;
        grid-row: 4;
        border: 1px solid yellow;
        padding: 5px;
    /*    vertical-align: bottom; /* pas vraiment utile ici */
        text-align: center;
    /*    height: 100px;          /* A supprimer */
        line-height: 16px;
        align-self: self-end;     /* Ajout */
    }

  5. #5
    Membre du Club
    Merci ça marche
    très bonne astuce le :
    -> SGBR=SQL SERVER 2014 <-

  6. #6
    Membre du Club
    tant que j'y suis

    j'aimerais remplacer ce bloc wrapper par un loader.
    comment feriez vous ça, je place un div en display:none et quand j'allume le loader je le passe en visible et je display none le wrapper ?
    cH.
    -> SGBR=SQL SERVER 2014 <-

  7. #7
    Modérateur

    tant que j'y suis
    Certes mais cela n'a rien à voir avec le sujet initial !

    Dans le principe oui même si c'est souvent inutile voire contre productif.

  8. #8
    Membre du Club
    Citation Envoyé par NoSmoking Voir le message
    Certes mais cela n'a rien à voir avec le sujet initial !
    c'est vrai, je marque le sujet comme résolu alors.
    merci beaucoup.
    -> SGBR=SQL SERVER 2014 <-

###raw>template_hook.ano_emploi###