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 :

Alignement bottom dans une GRID


Sujet :

Grille CSS (CSS Grid)

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2002
    Messages : 80
    Par défaut 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;
      }

  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 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 ==> */
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2002
    Messages : 80
    Par défaut
    merci de ton aide je pense voir le principe.
    je vais tester ça au plus vite.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 213
    Par défaut
    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 confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2002
    Messages : 80
    Par défaut
    Merci ça marche
    très bonne astuce le :

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2002
    Messages : 80
    Par défaut
    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.

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

Discussions similaires

  1. Alignement sur bottom
    Par NewbieOnLine dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 19/07/2018, 14h28
  2. Alignement bottom de deux div
    Par blackndoor dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/04/2015, 19h23
  3. Alignement en bottom d'une liste (UL) dans un DIV
    Par Spiritueux dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 20/05/2008, 17h12
  4. Redimensionner : Resize - Align(Top et Bottom)
    Par smk01 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/08/2007, 12h49
  5. [VB6] [Printer] Chiffres alignés à droite
    Par Laye dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/10/2002, 18h36

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