recherche
Maisoninterface Webtutoriel CSSGrille simple avec des lignes alternées

Simple Grid With Alternating Rows

Introduction

Ceci est une démonstration simple de la façon dont vous pouvez créer des grilles simples avec des rangées alternées. Dans cet exemple, vous avez une ligne avec trois éléments et une ligne avec deux.
Il s'agit d'une solution 100 % CSS et se résume à utiliser @property pour la valeur span de la propriété grid-columns.


Comment ça marche

Eh bien, c'est simple. Vous devez savoir combien de lignes différentes il y aura et combien d'éléments au total ces différentes lignes contiennent.

Dans mon exemple, ce serait :

  • 2 lignes différentes
  • 3 articles 2 articles = 5 articles

Cela signifie que lorsque vous effectuez le sélecteur :nth-child(), vous devez utiliser ce nombre total :

&:nth-child(5n - 4), 
&:nth-child(5n - 4) ~ &:is(:nth-child(5n - 3), :nth-child(5n - 2)) {
    --col-span: 4;
}

&:nth-child(5n - 1), &:nth-child(5n - 1) ~ &:nth-child(5n) {
    --col-span: 6;
}

La propriété personnalisée col-span est utilisée comme ceci :

.item {
    ...
    grid-column: span var(--span-cols);
    grid-row: span var(--span-rows);
    ...
}

Et c'est à peu près tout. C'est super simple, rien de bien grave, mais quand même utile à tout le monde.


Une solution plus conviviale mais plus complexe

Pour une solution plus conviviale, j'ai pensé à déclarer le nombre réel d'éléments au lieu de modifier l'étendue, car si vous modifiez le nombre de colonnes dans une grille, mais oubliez d'ajuster les étendues, vous obtenez un effet indésirable. C'est pourquoi j'ai ajouté une autre propriété personnalisée et je l'ai modifiée à la place.

La partie la plus malheureuse, quelle que soit la solution choisie, le sélecteur de nième enfant doit être modifié manuellement, ou via JavaScript, si vous souhaitez une solution entièrement dynamique. (Vous pouvez également utiliser SASS/SCSS, ce qui est évidemment aussi un bon moyen)

La propriété nouvellement ajoutée ressemble à ceci :

@property --row-items {
  syntax: "<integer>";
  inherits: false;
  initial-value: 1;
}
</integer>

Pour les éléments vous pouvez modifier la valeur de la propriété --row-items

&:nth-child(5n - 4), 
&:nth-child(5n - 4) ~ &:is(:nth-child(5n - 3), :nth-child(5n - 2)) {
    --row-items: 3;
}

&:nth-child(5n - 1), &:nth-child(5n - 1) ~ &:nth-child(5n) {
    --row-items: 2;
}

Et les span-cols sont désormais calculés directement sur la classe .item, au lieu de sélectionner x.

.item {
    --span-cols: calc(var(--grid-cols) / var(--row-items));
    grid-column: span var(--span-cols);
    grid-row: span var(--span-rows);
}

Pour référence, les propriétés personnalisées des colonnes et des lignes sont déclarées comme suit :

@property --grid-cols {
  syntax: "<integer>";
  inherits: false;
  initial-value: 12;
}

@property --grid-rows {
  syntax: "<integer>";
  inherits: false;
  initial-value: 12;
}
</integer></integer>

Conclusion

J'espère que cela vous aidera à comprendre comment faire fonctionner ce type de grille.
Si vous trouvez des erreurs ou si vous avez des commentaires à me faire, écrivez un commentaire sur cet article !

Merci et je vous souhaite un bon week-end,
Kuraikari


Stylo original


Le stylo avec la propriété items

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Les CMS de Jamstack ont ​​enfin grandi!Les CMS de Jamstack ont ​​enfin grandi!Apr 14, 2025 am 09:19 AM

Cet article est basé sur la présentation de Brian sur Connect.tech 2019. Les diapositives avec des notes de conférencier de cette présentation sont disponibles en téléchargement.

Actualités hebdomadaires de la plate-forme: mise à niveau des navigations vers HTTPS, vente de domaines .org, nouveau moteur de navigateurActualités hebdomadaires de la plate-forme: mise à niveau des navigations vers HTTPS, vente de domaines .org, nouveau moteur de navigateurApr 14, 2025 am 09:15 AM

Au cours de cette semaine, DuckDuckgo obtient un chiffrement plus intelligent, une lutte contre la vente de domaines Dot Org et un nouveau moteur de navigateur est en préparation.

Tant de liens de couleursTant de liens de couleursApr 13, 2025 am 11:36 AM

Il y a eu une série d'outils, d'articles et de ressources sur la couleur récemment. Veuillez me permettre de fermer quelques onglets en les rassemblant ici pour votre plaisir.

Comment fonctionnent les marges automnales dans FlexboxComment fonctionnent les marges automnales dans FlexboxApr 13, 2025 am 11:35 AM

Robin a déjà couvert cela, mais j'ai entendu une certaine confusion au cours des dernières semaines et j'ai vu une autre personne prendre un coup de poing pour l'expliquer, et je voulais

Les soulignements arc-en-ciel en mouvementLes soulignements arc-en-ciel en mouvementApr 13, 2025 am 11:27 AM

J'adore la conception du site Sandwich. Parmi les nombreuses caractéristiques belles figurent ces titres avec des soulignements arc-en-ciel qui se déplacent lorsque vous faites défiler. Ce n'est pas

Nouvel An, nouvel emploi? Laisse faire un curriculum vitae à propulsion de grille!Nouvel An, nouvel emploi? Laisse faire un curriculum vitae à propulsion de grille!Apr 13, 2025 am 11:26 AM

De nombreux conceptions de CV populaires tirent le meilleur parti de l'espace de page disponible en disant des sections en forme de grille. Utilisons la grille CSS pour créer une disposition qui

Une façon de sortir les utilisateurs de l'habitude de recharger tropUne façon de sortir les utilisateurs de l'habitude de recharger tropApr 13, 2025 am 11:25 AM

Les recharges de page sont une chose. Parfois, nous actualisons une page lorsque nous pensons que cela ne répond pas, ou croyons que un nouveau contenu est disponible. Parfois, nous sommes juste en colère contre

Conception axée sur le domaine avec réactConception axée sur le domaine avec réactApr 13, 2025 am 11:22 AM

Il y a très peu de conseils sur la façon d'organiser des applications frontales dans le monde de la réaction. (Déplacez simplement les fichiers jusqu'à ce qu'il «se sent bien», LOL). La vérité

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel