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 :

Aligner des cards sur ma page


Sujet :

Positionnement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut Aligner des cards sur ma page
    Bonjour,

    Je m'entraine au css et je ne voudrais remplir ma page avec 24 card et je n'y arrive pas, pouvez vous m'aider ?

    Mon
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <body>
        <div class="cards">
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
        </div>
    </body>

    Mon 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
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: sans-serif;
    }
     
    body {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100vh;
        background-color: #000;
    }
     
    .cards {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
     
    .cards>.red {
        background-color: #f43f5e;
    }
     
    .cards>.blue {
        background-color: #3b82f6;
    }
     
    .cards>.green {
        background-color: #22c55e;
    }
     
    .cards>.card {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        height: 100px;
        width: 250px;
        border-radius: 10px;
        color: #fff;
        font-size: 24px;
        cursor: pointer;
        transition: all 1s;
    }
     
    .cards>.card:hover {
        transform: scale(1.1, 1.1);
    }
     
    .cards:hover>.card:not(:hover) {
        filter: blur(10px);
        transform: scale(0.9, 0.9);
    }

  2. #2
    Membre chevronné Avatar de ASCIIDEFOND
    Homme Profil pro
    Autodidacte
    Inscrit en
    Novembre 2002
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Novembre 2002
    Messages : 235
    Par défaut
    Salut cdevl37,

    Exemple avec la propriété
    grid-template-columns
    https://developer.mozilla.org/fr/doc...mplate-columns

    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
    <body>
        <div class="cards">
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
            <div class="card red">Hover me</div>
            <div class="card blue">Hover me</div>
            <div class="card green">Hover me</div>
        </div>
    </body>

    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
    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
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: sans-serif;
    }
     
    body {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100vh;
      background-color: #000;
    }
     
    .cards {
      display: grid;
      grid-template-columns: repeat(6, 250px);
      row-gap: 15px;
      column-gap: 15px;
    }
     
    @media screen and (max-width: 1080px) {
      .cards {
        display: grid;
        grid-template-columns: repeat(2, 250px) !important;
      }
    }
     
    @media screen and (max-width: 1600px) {
      .cards {
        display: grid;
        grid-template-columns: repeat(4, 250px);
      }
    }
     
    .cards > .red {
      background-color: #f43f5e;
    }
     
    .cards > .blue {
      background-color: #3b82f6;
    }
     
    .cards > .green {
      background-color: #22c55e;
    }
     
    .cards > .card {
      text-align: center;
      width: 250px;
      border-radius: 10px;
      color: #fff;
      font-size: 24px;
      cursor: pointer;
      transition: all 1s;
      line-height: 100px;
    }
     
    .cards > .card:hover {
      transform: scale(1.1, 1.1);
    }
     
    .cards:hover > .card:not(:hover) {
      filter: blur(10px);
      transform: scale(0.9, 0.9);
    }

  3. #3
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    Merci vous sa fonctionne

  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,
    dans la mesure où les dimensions des éléments mis en « grille » sont fixes et connues on peut tout à fait s'affranchir des média-queries.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    .cards {
      --max_column: 6;
      --width_column: 250px;
      --gap: 1em;
      --gap_total: calc(var(--gap) * var(--max_column));
      --w_totale: calc(var(--width_column) * var(--max_column));
     
      display: grid;
      grid-template-columns: repeat(auto-fill,var(--width_column));
      gap: var(--gap);
      justify-content: center;
      margin: auto;
      max-width: calc(var(--w_totale) + var(--gap_total));
    }

  5. #5
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    super merci sa fonctionne

    bon weekend

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

Discussions similaires

  1. [XL-2016] Modifier alignement des marges sur 1 seule page d'impression
    Par Louis23850 dans le forum Excel
    Réponses: 7
    Dernier message: 05/01/2023, 12h05
  2. [Swing] Imprimer des JeditorPane sur plusieurs pages ?
    Par bilou_lelapinou dans le forum AWT/Swing
    Réponses: 22
    Dernier message: 29/11/2006, 22h28
  3. [StringGrid] Aligner des valeurs sur le '.' ?
    Par MiJack dans le forum Langage
    Réponses: 3
    Dernier message: 06/02/2006, 16h55
  4. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22
  5. Obtenir des infos sur une page web en ligne
    Par Logan_Cale dans le forum Web & réseau
    Réponses: 1
    Dernier message: 20/08/2005, 15h36

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