CSS-Gitterlayout. Wächst jeden Tag in der Browserunterstützung, und wir können CSS-Gitter zur Produktion versenden. Die schnelle Annahme von CSS-Gitter war wirklich bemerkenswert.
Bevor wir ein responsives Portfolio-Site-Layout mit CSS-Raster erstellen, löschen wir ein paar Dinge ein, indem Sie ein paar Dinge hoch sein: CSS-Gitter ist kein Ersatz für Flexbox . Es ist nicht einmal ein Ersatz für Floats. In der Tat können Sie erkennen, dass wir FlexBox verwenden, um Dinge zu tun, die das CSS-Gitter viel besser macht. Anstatt jedoch in Bezug auf den Ersatz zu denken, können wir in Bezug auf Kombination nachdenken.
Stellen Sie sich ein Erdnussbutter und ein Gelee-Sandwich vor. Erdnussbutter und Gelee sind auf sich ziemlich groß, aber wenn sie zusammenkommen, ist eine neue Sache geboren und Magie passiert.
Das ist was unsere Website-Layout. Werkzeuge sind wie. Sie sind großartig an den Dingen, die sie individuell tun, aber wenn sie kombiniert sind, passiert Magie und wir können neue und aufregende Layouts erstellen. In diesem Fall machen wir eine Webentwicklung PB & AMP, J von unserem eigenen mit CSS-Grid und Flexbox. Möchten Sie Ihren Prozess noch weiter vereinfachen? Wählen Sie einen anständigen Webseitenersteller .
In diesem Tutorial verwenden wir CSS-Raster und Flexbox zusammen, um ein ansprechendes Portfolio-Layout zu erstellen. Jede dieser Boxen ist eine andere Größe, einige von ihnen überräumen über Reihen und jede Box hat einen Titel, der unten sitzt. Wir werden einige der großen Ausrichtungs-Tools verwenden, die mit Flexbox geliefert werden, um dies zu ermöglichen.
Beginnen wir mit der Einrichtung unserem Markup.
& lt; UL-Klasse = "Boxen" & GT;
& lt; li & gt;
& lt; div class = "boxes__text-wrapper" & gt;
& lt; H2 & GT; Fallstudie Titel & lt; / h2 & gt;
& lt; P & Gt; eine eingängige Beschreibung für unsere Fallstudie. Wir haben hart gearbeitet. & Lt; / p & gt;
& lt; / div & gt;
& lt; / li & gt;
& lt; / ul & gt;
Wir werden diesen Listenelement und alles, was sechsmal doppelt, doppelte, also haben wir Artikel zum Spielen. Falls Sie sich fragen, haben wir uns entschieden, das einzusetzen ul Element hier, da dies eine Liste von Einträgen ist. Fühlen Sie sich frei, um zu benutzen, was Sie richtig anfühlen.
Innerhalb des Listenelements haben wir eine div. mit der Klasse von .Boxes__text-Wrapper. das enthält den Titel der Fallstudie und deren Begleitbeschreibung.
Lassen Sie uns nun einige Basisstile einstellen, mit der Sie arbeiten können.
Körper {
Schriftfamilie: Avenir, Sans-Serif;
Marge: 2REM Auto;
Breite: 95%;
}
h2,
p {
Marge: 0;
}
ul {
List-Stil: Keine;
Polsterung: 0;
Marge: 0;
}
.boxes & gt; * {{
Polsterung: .5REM;
Hintergrundfarbe: # 333;
Farbe weiß;
}
Wir haben die Schrift, um Avenir zu sein. Wir entfernen die Marge aus unserer Überschrift und Absatz und setzen die ungeordnete Liste zurück. Wir geben jedem Listenelement auch einige Standardstile, um uns zu sehen, wo jeder ist.
Wir möchten unser Layout zuerst für Mobiltelefone aufbauen. Das Einrichten unseres Netzes auf kleinen Bildschirmen ist so einfach wie dieses:
.boxes {
Anzeige: Gitter;
Grid-Auto-Reihen: Minmax (125px, Auto);
Gitterlücke: .5REM;
}
Das Raster stapelt unsere Artikel aufeinander aufeinander, da standardmäßig nur eine Spalte vorhanden ist. Wir erstellen einen Raum zwischen jeder Fallstudie mit der Verwendung Gitterlücke - Dadurch können wir eine Rinne zwischen Zeilen und Spalten hinzufügen.
Vergessen Sie, dass Sie einen Rand für Säulen hinzufügen, nur um den Komplex zu benötigen nth-kind Selektoren; Rinnen erscheinen nur zwischen Säulen oder Zeilen, niemals nach oder vor einer Säule oder Ruid.Grid-Lücke ist die Abkürzung von Gitterspalte-Lücke und Gitterreihenlücke . Normalerweise würden wir den Longland verwenden, aber wir werden beide, wenn der Browser wächst, sodass wir die Abkürzung verwenden.
Als nächstes werden wir verwenden Grid-Auto-Reihen Um unserem Gitterbehälter die Höhe neuer Reihen zu erzählen. Grid erstellt neue Reihen, um alle unsere Inhalte zu platzieren. Wir können die Größe dieser automatisch erstellten Reihen mit dem steuern Grid-Auto-Reihen Eigentum. Wir verwenden eine neue Funktion, die uns zur Verfügung steht: Minimal Maximal() . Mit Minimal Maximal() Wir können eine Mindestgröße und eine maximale Größe angeben.
Mit unserem Code sagen wir, dass wir wollen, dass unsere Reihen mindestens 120px und ein Maximum an Auto sein wollen. Wir verwenden AUTO hier, weil wir wollen, dass unsere Reihen wachsen möchten, wenn der Inhalt es gewährleistet.
Lassen Sie uns unsere Seite einrichten, so dass, wenn unser Browser 40 Uhr oder größer ist, unser Netzcontainer sechs Säulen mit jeweils einen Bruchteil hat.
@media-Bildschirm und (Min-Breite: 40EM) {
.Boxes {
Grid-Template-Säulen: Wiederholen (6, 1Fr);
Gitterlücke: 2px;
}
}
Grid-Template-Säulen Ist die Immobilie, mit denen wir unseren Raster mitteilen, wie viele Säulen vorhanden sein sollten. Es akzeptiert alle Längeneinheiten, die wir kennen und lieben, wie z Rem , em , PX. , Prozentsätze, vw. , VH. und Fr .
Das Fr ist eine neue Einheit, die wir mit CSS Grid-Layout erhalten. Damit können wir dem Browser anstelle von Maths anstelle von uns erzählen - ausgezeichnet.
Durch den Erstellen des Browsers, um sechs Spalten eines Fraktionen zu erstellen, berechnet der Browser die Breite unseres Netzbehälters und teilen Sie ihn in sechs gleiche Säulen auf. Da das Grid intelligent ist, teilen Sie den Raum nur nach der Berechnung der Rinne, die wir angegeben haben, nur aufteilen.
Unsere Fallstudien sehen ein bisschen drang aus wie nur graue Boxen. Lassen Sie uns ein Hintergrundbild hinzufügen, unsere Titel an der Unterseite dieser Boxen anzeigen lassen und einen Gradienten hinzufügen, damit unser Titel hervorgeht.
.Boxes li {
Hintergrundbild:
Lineargradient (RGBA (0,0,0,0), RGBA (0,0,0,0.8)),
URL (Pfad / zu / Bild);
Hintergrundgröße: Abdeckung;
Anzeige: Flex;
Ausrichten-Artikel: Flex-Ende;
}
Dieses Hintergrundbild war ein freies Bild von Aufheben , aber fühlen Sie sich frei, welches Bild, das Sie möchten, verwenden. Ich bringe auch Flexbox in die Mischung, um unseren Text an der Unterseite unserer Boxen auszurichten. Sie werden das noch nicht sehen, aber wenn wir jede andere Box platzieren, sehen Sie schließlich die Arbeit.
Leider hat Grid keine Möglichkeit, Elemente in das Gitterlayout automatisch zu platzieren, das wir am Anfang gesehen haben. Glücklicherweise für uns gibt Gitter jedoch die Werkzeuge, um es manuell leicht zu tun. In diesem Tutorial verwenden wir das NTH-Kind, um jeden Listenelement zu platzieren. In einer Produktionswebsite würden wir empfehlen, eine Klasse zu nutzen, die angesichts der richtigen Planung die Automatisierung von Layouts wie diesem in einer contenthear-Website ermöglichen könnte.
Lassen Sie uns mit unserem ersten Artikel beginnen.
@media-Bildschirm und (Min-Breite: 40EM) {
.BOXES LI: NTH-Kind (1) {
Gittersäule: 1 / -1;
Gitterzeile: Span 3;
}
}
Wir werden alle unsere Placement-Stile in diese Medienabfrage setzen, die wir früher geschrieben haben, weil wir möchten, dass dieses Layout, nachdem unser Browser 40 Uhr oder größer ist. Mit nth-kind Wir richten sich auf den ersten Listenelement. Mit CSS-Grid können wir unsere Artikel leicht mit Gitterspalten und Rasterzeile platzieren. Es gibt viele verschiedene Möglichkeiten, anzugeben, wohin die Elemente sein sollten, aber hier sagen wir unserem Artikel, um an der Spaltenzeile eins zu starten, und überspannen den gesamten Container mit -1.
Dann sagen wir mit Grid-Row den Artikel, um drei Reihen zu sparen. Woher wissen wir, dass drei Reihen die gewünschte Größe sein werden? Nun, wir haben die Größe dieser Reihen mit Grid-Auto-Zeilen vor einigen Momenten festgelegt, und wenn wir mit ihnen nicht zufrieden sind, können wir die Mindestgröße ändern.
Lassen Sie uns den Rest unserer Artikel platzieren.
@media-Bildschirm und (Min-Breite: 40EM) {
.boxes li: nth-kind (2) {
Gitterspalte: Span 2;
Gitterzeile: Span 7;
}
.BOXES LI: NTH-Kind (3) {
Gitterspalte: Span 4;
Gitterzeile: Span 3;
}
.BOXES LI: NTH-Kind (4) {
Gitterspalte: Span 2;
Grid-Zeile: Spannweite 4;
}
.BOXES LI: NTH-Kind (5),
.BOXES LI: NTH-Kind (6) {
Gitterspalte: Span 2;
Gitterzeile: Span 2;
}
}
Ist es nicht erstaunlich, wie viel Kontrollgitterlayout uns gibt? Mit nur wenigen Codezeilen können wir ein vollständig ansprechendes Layout zusammenstellen, das nicht bricht, wenn weitere Elemente hinzugefügt werden.
Sicher, sie könnten ein wenig wonky aussehen, weil sie standardmäßig nur eine Rastersäule und eine Reihe aufnehmen, aber es bricht unser Layout nicht. Wenn wir dies mit Schwimmern und fixierten Breiten und Höhen tun, wären wir in einer Bindung, wenn mehr Inhalte hinzugefügt wurden.
Ok, es ist Zeit, den Elefanten im Raum anzusprechen. 'Was ist mit älteren Browsern?' Die Antwort auf diese Frage ist das gleiche wie für jede neue Funktion in CSS: Verwenden Sie Feature-Anfragen und umarmen Sie die Kaskade. Merkmalsabfragen sind sehr gut unterstützt , und wo sie nicht zuerst unseren Fallback platzieren können. Wir würden zum Beispiel etwas in den Zeilen schreiben:
.your-selektor {
Anzeige: Flex;
}
/ * Ihr Gittercode * /
@Supports (Anzeige: Gitter) {
Anzeige: Gitter;
Grid-Template-Säulen: Wiederholen (3, 1Fr);
GID-GAP: 1REM 2REM;
}
Wenn Sie unseren Code auf diese Weise schreiben, bedeutet, dass, wenn der Browser das Gitterlayout versteht, das anstelle von Flexbox verwendet wird. Da wir auch die Kaskade umarmen, ignorieren Browsern, die keine Feature-Abfragen verstehen, sie ignorieren und haben bereits die Informationen, die sie benötigen. Vielleicht müssen wir planen, wie wir unsere Stile etwas mehr als üblich schreiben, aber dadurch können wir mit vernünftigen Fallbacks hervorragende Layouts schaffen. Wenn Sie Ihre alten Seiten speichern möchten, exportieren Sie sie als PDFs und speichern Sie sie in Cloud-Speicherung. .
Im Laufe der Zeit werden auch mehr und mehr Unterstützung für das CSS-Gitter. Denken Sie nur, wie großartig es wäre, später unsere Rückfällungen zu löschen und alle gitterbezogenen CSS zu verlassen. Wenn Sie mehr über Raster erfahren, werden Sie erkennen, dass es viele Dinge tun, die wir jetzt mit vielen weniger Zeilen von CSS tun. Denken Sie daran, wenn Sie eine besonders komplexe Website haben, Ihre Web-Hosting Der Service muss bis zu kratzen sein.
Dieser Artikel erschien ursprünglich in Netzmagazin. Das weltweit führende Magazin für Entwickler und Webdesigner. Abonnieren Sie hier .
Weiterlesen:
Cinema 4D-Tutorials: Schnelle Links Nagel die Grundlagen Weitergehen Diese Cinema 4D-Tutorials helfen Ihnen, ein ..
Während dieses Photoshop-Tutorials werde ich über mehrere Schlüsselkonzepte gehen, die ich als Illustrator verwende. Ich werde..
Textur ist oft, was die Linien zwischen traditionellem und digitalem Kunstwerk verwischt. Oft ist es einfach, den Unterschied zwischen den beiden zu erzählen, wenn Ihre digitale Kunstwerke k..
Substanz-Designer ist ein hervorragendes Werkzeug zum Erstellen aller Arten von Materialien für Ihre 3D Art. . Ic..
Parallaxe Scrollen ist nicht mehr der garantierte Aufmerksamkeitsgrabber, der früher war, aber es gibt andere Möglichkeiten, Parallaxe..
Polypaint in. ZbrushCore. ist ein fantastisches Werkzeug, mit dem Sie Ihrem Modell Farbe und Texturen hinzufügen ..
Bungie Blei-Umweltkünstlerin Daniel Thiger führt uns durch seine Techniken zur Herstellung realistischer, zwingender Texturieru..
Ich kann Ihnen nicht anfangen, Ihnen zu sagen, wie viele Adobe Illustrator Die Dateien wurden für Animation an mi..