Maison >interface Web >tutoriel CSS >Comment implémenter la disposition n-square en CSS
Idées de design (que vous soyez scss ou moins)
1 Afin de faciliter le centrage horizontal/vertical des éléments internes, nous utilisons la disposition flexible comme. un tout.
2. Utilisez un espace réservé carré Parce que padding-top:100% est utilisé, nous devons utiliser un div séparé pour contenir le contenu.
3. Afin de créer le contenu, le conteneur div est rempli de carrés et nous définissons son style : position:absolute;top:0;left:0;right:0;bottom:0;; (Tutoriel recommandé :Tutoriel de démarrage CSS)
Code HTML<!-- a-grid是一个flex容器, 方便他的内容做"水平/垂直居中" --> <div class="a-grid"> <!-- a-grid__item用来占位实现正方形 --> <div class="a-grid__item"> <!-- item__content才是真正装内容的容器 --> <div class="item__content"> 内容... </div> </div> </div>Code CSSAfin de ne pas être redondant, j'ai extrait le partie publique et l'a nommé ".a-grid";Mixin supporte 4 paramètres, à savoir $row (nombre de lignes), $column (nombre de colonnes), $hasBorder (s'il y a une bordure), $isSquare (si chaque bloc est garanti carré)
.a-grid { display: flex; flex-wrap: wrap; width: 100%; .a-grid__item { text-align:center; position:relative; >.item__content { display:flex flex-flow: column; align-items: center; justify-content: center; } } } @mixin grid($row:3, $column:3, $hasBorder:false, $isSquare:true) { @extend .a-grid; .a-grid__item { flex-basis: 100%/$column; @if($isSquare) { padding-bottom: 100%/$column; height: 0; } >.item__content { @if($isSquare) { position:absolute; top:0;left:0;right:0;bottom:0; } } } @for $index from 1 to (($row - 1) * $column + 1) { .a-grid__item:nth-child(#{$index}) { @if($hasBorder) { border-bottom: 1px solid #eee; } } } @for $index from 1 to $column { .a-grid__item:nth-child(#{$column}n + #{$index}) { @if($hasBorder) { border-right: 1px solid #eee; } } } }Rappelez à tout le monde : si vous souhaitez faire une mise en page n x m, utilisez Après @include grid(n, m), n'oubliez pas d'ajouter n x m structures dom correspondantes en html. Tutoriels vidéo associés recommandés :
Tutoriel vidéo CSS
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!