Häufige Anwendungsszenarien Die Schnittstellen aktueller Apps sind grundsätzlich gleich und das Rasterlayout ist für jede App zu einer Notwendigkeit geworden. Mit Rahmen, wird oft auf der Seite „Funktionsnavigation“ verwendet Randlos, wird häufig in Homepage-Kategorien verwendet Entwurfsziele In der SCSS-Umgebung werden N-Gitter über Mixin implementiert und können „mit oder ohne Ränder“ und „ob jedes Gitter quadratisch ist“ unterstützen: @include grid(3, 3, true); // 3 x 3, mit Rändern, und jedes Raster ist ein Quadrat @include grid(2, 5, false, false); // 2 x 5, ohne Ränder Endergebnis Tipps zum „Füllprozentsatz“ Lassen Sie mich zunächst einen kleinen Trick erklären, wie man ein Quadrat erreicht. Ich garantiere, dass Sie es verstehen werden, nachdem Sie es einmal gelesen haben. Die Schlussfolgerung lautet: Designideen (egal ob du SCSS oder weniger bist)
Unser HTML sieht also folgendermaßen aus: <!-- a-grid ist ein flexibler Container, der es einfach macht, seinen Inhalt „horizontal/vertikal zu zentrieren“ --> <div Klasse="a-grid"> <!-- a-grid__item wird verwendet, um Platz für die Realisierung des Quadrats einzunehmen --> <div Klasse="a-grid__item"> <!-- item__content ist der eigentliche Container für den Inhalt--> <div Klasse="item__content"> Inhalt... </div> </div> </div> Code (scss) Dabei werden drei Dinge erledigt:
.ein-Raster { Anzeige: Flex; Flex-Wrap: Umwickeln; Breite: 100 %; .ein-grid__item { Textausrichtung: zentriert; Position: relativ; >.item__content { Anzeige: Flex Flex-Flow: Spalte; Elemente ausrichten: zentrieren; Inhalt ausrichten: zentriert; } } } @mixin-Raster($Zeile:3, $Spalte:3, $hasBorder:false, $isSquare:true) { @erweitern .a-grid; .ein-grid__item { Flex-Basis: 100 %/$Spalte; @if($isSquare) { Polsterung unten: 100 %/$Spalte; Höhe: 0; } >.item__content { @if($isSquare) { Position: absolut; oben:0;links:0;rechts:0;unten:0; } } } @für $index von 1 bis (($row - 1) * $column + 1) { .a-grid__item:nth-child(#{$index}) { @if($hasBorder) { Rahmen unten: 1px durchgezogen #eee; } } } @für $index von 1 bis $column { .a-grid__item:nth-child(#{$column}n + #{$index}) { @if($hasBorder) { Rahmen rechts: 1px durchgezogen #eee; } } } } verwenden // Erzeuge ein quadratisches Raster mit drei Zeilen und drei Spalten. a-grid-3-3 { @include grid(3, 3, true); } // Erzeuge ein randloses Raster mit zwei Zeilen und fünf Spalten, wobei die Höhe jedes Rasters durch den Inhalt bestimmt wird. a-grid-2-5 { @include grid(2, 5, falsch, falsch); } Erinnerung: Wenn Sie ein nxm-Layout erstellen möchten, vergessen Sie nicht, nach der Verwendung von @include grid(n, m) nxm entsprechende DOM-Strukturen in HTML hinzuzufügen. Finale Der Inhalt ist sehr einfach gehalten und es gibt noch viele Bereiche, die optimiert werden können. Beispielsweise könnte der Rahmen in einen „Haarlinien“-Rahmen geändert werden, der auf dem realen Gerät dünner aussieht. So, das ist fürs Erste alles. Wenn Sie eine bessere Möglichkeit zur Umsetzung kennen, hinterlassen Sie bitte eine Nachricht. Vielen Dank fürs Lesen. Ich schreibe gerade eine CSS-Stilbibliothek. Das Ziel besteht darin, dass sie mit Applets kompatibel ist. Jeder, der interessiert ist, kann damit herumspielen. Dies ist der Quellcode, der dieser Lektion entspricht: https://github.com/any86/3a.css/blob/develop/src/components/_grid.scss Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
<<: Webseiten-Erlebnis: Planung und Design
>>: Zusammenfassung der am häufigsten verwendeten Wissenspunkte zu den neuen Funktionen von ES6
Anzeigedefinitions-ID Wenn die in der Tabelle def...
Inhalt 1. Geben Sie den Lesern einen Grund zu blei...
Inhaltsverzeichnis So starten Sie mysqld Methode ...
Effektanzeige: Controllerknoten zur Umgebungsvorb...
Nginx-Installation Stellen Sie sicher, dass die v...
1. Virtuelle Umgebung virtualenv installieren 1. ...
Gestern gab es keine Probleme beim Herstellen ein...
Aktivieren Sie Remote-Zugriffsrechte für MySQL My...
Inhaltsverzeichnis Vorwort Untergeordnete Kompone...
Inhaltsverzeichnis 1. Mehrere Syntaxen von Insert...
Mit dem Befehl „Docker Create“ können Sie einen C...
Viele Organisationen müssen Dateiserver sichern u...
Inhaltsverzeichnis 1. MHA 1. Konzept 2. Zusammens...
Verwenden Sie natives JS, um einen einfachen Rech...
Docker-Installation Verwenden Sie das offizielle ...