2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Das Rasterlayout (Grid) ist die leistungsstärkste CSS-Layoutlösung.
Es unterteilt Webseiten in Raster und verschiedene Raster können beliebig kombiniert werden, um verschiedene Layouts zu erstellen. Effekte, die früher nur durch komplexe CSS-Frameworks erzielt werden konnten, sind heute in Browser eingebaut.
Ein Layout wie das oben abgebildete ist die Besonderheit des Grid-Layouts.
Das Rasterlayout hat gewisse Ähnlichkeiten mit dem Flex-Layout. Beide können die Position mehrerer Elemente innerhalb des Containers angeben. Es gibt jedoch wichtige Unterschiede.
Das Flex-Layout ist ein Achsenlayout und kann nur die Position des „Elements“ gegenüber der Achse angeben, die als betrachtet werden kannEindimensionales Layout . Das Rasterlayout unterteilt den Container in „Zeilen“ und „Spalten“, generiert Zellen und gibt dann die Zelle an, in der sich das „Element“ befindet, das betrachtet werden kann2D-Layout . Das Rasterlayout ist weitaus leistungsfähiger als das Flex-Layout.
Bevor Sie das Rasterlayout erlernen, müssen Sie einige grundlegende Konzepte verstehen.
Ein Bereich mit einem Rasterlayout wird als „Container“ bezeichnet. Die untergeordneten Elemente, die die Rasterpositionierung innerhalb des Containers verwenden, werden „Elemente“ genannt.
<div>
<div><p>1</p></div>
<div><p>2</p></div>
<div><p>3</p></div>
</div>
Im obigen Code das äußerste<div>
Das Element ist der Behälter und die drei inneren<div>
Elemente sind Gegenstände.
Beachten: Das Projekt kann nur das untergeordnete Element der obersten Ebene des Containers sein und enthält keine untergeordneten Elemente des Projekts, wie z. B. den obigen Code<p>
Elemente sind keine Gegenstände. Das Rasterlayout wirkt sich nur auf Projekte aus.
Der horizontale Bereich innerhalb des Containers wird als „Zeile“ und der vertikale Bereich als „Spalte“ bezeichnet.
Im Bild oben sind die horizontalen dunklen Bereiche „Zeilen“ und die vertikalen dunklen Bereiche „Spalten“.
Der Schnittbereich von Zeilen und Spalten wird als „Zelle“ bezeichnet.
Unter normalen Umständen,n
OK undm
Spalten werden produzierenn x m
Zellen. Beispielsweise ergeben 3 Zeilen und 3 Spalten 9 Zellen.
Die Linien, die das Gitter unterteilen, werden „Gitterlinien“ genannt. Horizontale Gitterlinien teilen Zeilen und vertikale Gitterlinien teilen Spalten.
Unter normalen Umständen,n
OKn + 1
Wurzel horizontale Gitterlinie,m
Gelistetm + 1
Es gibt beispielsweise drei vertikale Gitterlinien, es gibt vier horizontale Gitterlinien in drei Reihen.
Das Bild oben ist ein 4 x 4-Raster mit insgesamt 5 horizontalen Gitterlinien und 5 vertikalen Gitterlinien.
Die Eigenschaften des Rasterlayouts sind in zwei Kategorien unterteilt. Ein Typ ist im Container definiert und wird als Containereigenschaften bezeichnet; der andere Typ ist im Projekt definiert und wird als Projekteigenschaften bezeichnet. In diesem Teil werden zunächst Containereigenschaften vorgestellt.
display: grid
Gibt einen Container zur Verwendung eines Rasterlayouts an.
div {
display: grid;
}
Das Bild oben istdisplay: grid
vonWirkung。
Standardmäßig sind Containerelemente Elemente auf Blockebene, sie können jedoch auch als Inline-Elemente festgelegt werden.
div {
display: inline-grid;
}
Der obige Code gibt andiv
Ist ein Inline-Element, das intern ein Rasterlayout verwendet.
Das Bild oben istdisplay: inline-grid
vonWirkung。
Beachten Sie, dass nach der Einstellung auf Rasterlayout die Container-Unterelemente (Elemente)
float
、display: inline-block
、display: table-cell
、vertical-align
Undcolumn-*
Alle anderen Einstellungen werden ungültig.
Nachdem der Container das Rasterlayout angegeben hat, muss er die Zeilen und Spalten unterteilen.grid-template-columns
Eigenschaften definieren die Spaltenbreite jeder Spalte.grid-template-rows
Die Eigenschaft definiert die Zeilenhöhe jeder Zeile.
.container {
display: grid;
grid-template-columns: 100px 100px 100px;
grid-template-rows: 100px 100px 100px;
}
obiger CodeGibt ein Raster mit drei Zeilen und drei Spalten an. Die Spaltenbreite und Zeilenhöhe sind beide100px
。
Anstatt absolute Einheiten zu verwenden, können Sie auch Prozentsätze verwenden.
.container {
display: grid;
grid-template-columns: 33.33% 33.33% 33.33%;
grid-template-rows: 33.33% 33.33% 33.33%;
}
(1)wiederholen()
Manchmal ist es sehr mühsam, denselben Wert wiederholt zu schreiben, insbesondere wenn viele Gitter vorhanden sind.Zu diesem Zeitpunkt können Sie verwendenrepeat()
Funktion, die wiederholte Werte vereinfacht.Der obige Code verwendetrepeat()
Wie folgt umgeschrieben.
.container {
display: grid;
grid-template-columns: repeat(3, 33.33%);
grid-template-rows: repeat(3, 33.33%);
}
repeat()
Akzeptiert zwei Parameter, der erste Parameter ist die Anzahl der Wiederholungen (3 im obigen Beispiel) und der zweite Parameter ist der zu wiederholende Wert.
repeat()
Es ist in Ordnung, ein Muster zu wiederholen.
grid-template-columns: repeat(2, 100px 20px 80px);
obiger CodeEs sind 6 Spalten definiert, die Breite der ersten und vierten Spalte beträgt100px
, die zweite und fünfte Spalte20px
, die dritte Spalte und die sechste Spalte80px
。
(2) Schlüsselwort zum automatischen Ausfüllen
Manchmal ist die Größe der Zelle festgelegt, die Größe des Containers jedoch nicht definiert.Wenn Sie möchten, dass jede Zeile (oder Spalte) so viele Zellen wie möglich enthält, können Sie Folgendes verwendenauto-fill
Schlüsselwörter stehen für die automatische Vervollständigung.
.container {
display: grid;
grid-template-columns: repeat(auto-fill, 100px);
}
obiger CodeStellt die Breite jeder Spalte dar100px
, und füllt sich dann automatisch, bis der Container keine Spalten mehr aufnehmen kann.
Außer, abgesondert, ausgenommenauto-fill
und ein Schlüsselwortauto-fit
, das Verhalten beider ist im Grunde das gleiche.Nur wenn der Behälter breit genug ist, um alle Zellen in einer Reihe aufzunehmen, und die Zellenbreite nicht festgelegt istVerhaltensunterschiede:auto-fill
Die verbleibende Breite wird mit leeren Zellen gefüllt.auto-fit
wird versuchen, die Breite der Zelle zu vergrößern.
(3) fr-Schlüsselwort
Um proportionale Beziehungen bequem auszudrücken, ist ein Rasterlayout vorgesehenfr
Schlüsselwort (Kurzform für Bruch, was „Fragment“ bedeutet).Wenn die Breiten der beiden Spalten sind1fr
Und2fr
, was bedeutet, dass letzteres doppelt so groß ist wie ersteres.
.container {
display: grid;
grid-template-columns: 1fr 1fr;
}
obiger CodeStellt zwei Spalten gleicher Breite dar.
fr
Kann in Verbindung mit absoluten Längeneinheiten verwendet werden, was sehr praktisch ist.
.container {
display: grid;
grid-template-columns: 150px 1fr 2fr;
}
obiger Codebedeutet, dass die erste Spalte 150 Pixel breit ist und die zweite Spalte halb so breit wie die dritte Spalte.
(4) minmax ()
minmax()
Die Funktion erzeugt einen Längenbereich und gibt an, dass die Länge innerhalb dieses Bereichs liegt. Es akzeptiert zwei Parameter, den Minimalwert und den Maximalwert.
grid-template-columns: 1fr 1fr minmax(100px, 1fr);
Im obigen Code,minmax(100px, 1fr)
Gibt an, dass die Spaltenbreite nicht kleiner ist als100px
,nicht größer als1fr
。
(5)Auto-Schlüsselwort
auto
Die Länge der Schlüsselwortdarstellung wird vom Browser selbst bestimmt.
grid-template-columns: 100px auto 100px;
Im obigen Code entspricht die Breite der zweiten Spalte grundsätzlich der maximalen Breite der Zelle in der Spalte, sofern der Zelleninhalt nicht festgelegt istmin-width
, und dieser Wert ist größer als die maximale Breite.
(6) Name der Gitterlinien
grid-template-columns
Attribute undgrid-template-rows
In den Eigenschaften können Sie auch eckige Klammern verwenden, um den Namen jeder Rasterlinie anzugeben, damit Sie später leichter darauf zurückgreifen können.
.container {
display: grid;
grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4];
grid-template-rows: [r1] 100px [r2] 100px [r3] auto [r4];
}
Der obige Code gibt ein Rasterlayout mit 3 Zeilen x 3 Spalten an, sodass es 4 vertikale und 4 horizontale Rasterlinien gibt. In den eckigen Klammern stehen die Namen der acht Zeilen.
Das Rasterlayout ermöglicht mehrere Namen für dieselbe Zeile, z[fifth-line row-5]
。
(7) Layoutbeispiel
grid-template-columns
Eigenschaften sind für das Webseitenlayout sehr nützlich. Für das zweispaltige Layout ist nur eine Codezeile erforderlich.
.wrapper {
display: grid;
grid-template-columns: 70% 30%;
}
Der obige Code setzt die linke Spalte auf 70 % und die rechte Spalte auf 30 %.
Auch das traditionelle Zwölfraster-Layout ist leicht zu schreiben.
grid-template-columns: repeat(12, 1fr);
grid-row-gap
Die Eigenschaft legt den Abstand zwischen Zeilen (Zeilenabstand) fest.grid-column-gap
Die Eigenschaft legt den Abstand zwischen Spalten (Spaltenabstand) fest.
.container {
grid-row-gap: 20px;
grid-column-gap: 20px;
}
obiger CodeMitte,grid-row-gap
Wird verwendet, um den Zeilenabstand festzulegen.grid-column-gap
Wird verwendet, um den Spaltenabstand festzulegen.
grid-gap
Die Eigenschaften sindgrid-column-gap
Undgrid-row-gap
Die kombinierte Abkürzungsform von , die Syntax ist wie folgt.
grid-gap: <grid-row-gap> <grid-column-gap>;
Daher entspricht der obige CSS-Code dem folgenden Code.
.container {
grid-gap: 20px 20px;
}
Wenngrid-gap
Der zweite Wert wird weggelassen und der Browser betrachtet den zweiten Wert als gleich dem ersten Wert.
Nach den neuesten Standards sind die oben genannten drei Attributnamen
grid-
Das Präfix wurde entfernt,grid-column-gap
Undgrid-row-gap
geschrieben alscolumn-gap
Undrow-gap
,grid-gap
geschrieben alsgap
。
Mit dem Rasterlayout können Sie „Bereiche“ festlegen, die aus einzelnen oder mehreren Zellen bestehen.grid-template-areas
Eigenschaften werden zum Definieren von Bereichen verwendet.
.container {
display: grid;
grid-template-columns: 100px 100px 100px;
grid-template-rows: 100px 100px 100px;
grid-template-areas:
'a b c'
'd e f'
'g h i';
}
Der obige Code teilt zunächst 9 Zellen und benennt sie danna
ankommeni
Die neun Bereiche entsprechen jeweils diesen neun Zellen.
Die Schreibmethode zum Zusammenführen mehrerer Zellen in einem Bereich ist wie folgt.
grid-template-areas:
'a a a'
'b b b'
'c c c';
Der obige Code unterteilt 9 Zellen ina
、b
、c
drei Bereiche.
Unten finden Sie ein Beispiellayout.
grid-template-areas:
'header header header'
'main main sidebar'
'footer footer footer';
Im obigen Code ist die Oberseite der Kopfbereichheader
, der untere Bereich ist der Fußzeilenbereichfooter
, der Mittelteil istmain
Undsidebar
。
Wenn einige Bereiche nicht genutzt werden müssen, verwenden Sie „Punkte“ (.
)äußern.
grid-template-areas:
'a . c'
'd . f'
'g . i';
Im obigen Code ist die mittlere Spalte ein Punkt, was bedeutet, dass die Zelle nicht verwendet wird oder zu keinem Bereich gehört.
Beachten Sie, dass die Benennung der Regionen Auswirkungen auf die Rasterlinien hat.Die Startgitterlinie jedes Bereichs wird automatisch benannt
区域名-start
, wird die abgeschlossene Gitterlinie automatisch benannt区域名-end
。Beispielsweise wird der Bereich benannt
header
, dann werden die horizontalen Gitterlinien und die vertikalen Gitterlinien an der Startposition aufgerufenheader-start
, werden die horizontalen Gitterlinien und die vertikalen Gitterlinien an der Endposition aufgerufenheader-end
。
Nachdem das Raster geteilt wurde, werden die untergeordneten Elemente des Containers automatisch der Reihe nach in jedem Raster platziert. Die standardmäßige Platzierungsreihenfolge ist „Zeile zuerst, Spalte zweitens“, das heißt, zuerst wird die erste Zeile gefüllt und dann mit der Platzierung der zweiten Zeile begonnen, was der Reihenfolge der Zahlen in der folgenden Abbildung entspricht.
Dieser Auftrag wird erteilt vongrid-auto-flow
Der durch das Attribut bestimmte Standardwert istrow
, also „erst Reihe, dann Reihe“.Sie können es auch auf einstellencolumn
, wird zu „Zeile zuerst, dann Zeile“.
grid-auto-flow: column;
obiger Codebereits eingerichtetcolumn
Von nun an sieht die Platzierungsreihenfolge wie unten dargestellt aus.
grid-auto-flow
Zusätzlich zum Festlegen des Attributs aufrow
Undcolumn
, kann auch auf eingestellt werdenrow dense
Undcolumn dense
. Diese beiden Werte werden hauptsächlich verwendet, um die verbleibenden Elemente automatisch zu platzieren, nachdem bestimmten Elementen Positionen zugewiesen wurden.
Beispiel untenLassen Sie Projekt Nr. 1 und Projekt Nr. 2 jeweils zwei Zellen belegen, und dann in der Standardeinstellunggrid-auto-flow: row
In diesem Fall wird das folgende Layout erstellt.
Im Bild oben ist die Position hinter Element Nr. 1 leer. Dies liegt daran, dass Element Nr. 3 standardmäßig auf Element Nr. 2 folgt und daher hinter Element Nr. 2 eingestuft wird.
Ändern Sie nun die Einstellungen und stellen Sie sie auf einrow dense
, bedeutet „Zeile zuerst, Spalte dann“ und füllen Sie es so dicht wie möglich ohne Leerzeichen aus.
grid-auto-flow: row dense;
obiger CodeDer Effekt ist wie folgt.
Das Bild oben füllt zuerst die erste Zeile und dann die zweite Zeile, sodass Element 3 auf Element 1 folgt. Die Artikel Nr. 8 und Nr. 9 werden in der vierten Reihe platziert.
Wenn Sie die Einstellung ändern aufcolumn dense
, bedeutet „zuerst Spalte, dann Zeile“ und füllen Sie die Leerzeichen so weit wie möglich aus.
grid-auto-flow: column dense;
obiger CodeDer Effekt ist wie folgt.
Das obige Bild füllt zuerst die erste Spalte und dann die zweite Spalte, sodass sich Element Nr. 3 in der ersten Spalte und Element Nr. 4 in der zweiten Spalte befindet. Die Punkte 8 und 9 wurden in die vierte Spalte gequetscht.
justify-items
Eigenschaft legt die horizontale Position des Zellinhalts fest (links, zentriert, rechts),align-items
Die Eigenschaft legt die vertikale Position (oben, in der Mitte, unten) des Zellinhalts fest.
.container {
justify-items: start | end | center | stretch;
align-items: start | end | center | stretch;
}
Diese beiden Attribute werden genau gleich geschrieben und können die folgenden Werte annehmen.
- Start: Richten Sie die Startkante der Zelle aus.
- Ende: An der Endkante der Zelle ausrichten.
- Mitte: Mitte innerhalb der Zelle.
- Strecken: Strecken, um die gesamte Breite der Zelle auszufüllen (Standardwert).
.container {
justify-items: start;
}
obiger CodeZeigt an, dass der Inhalt der Zelle nach links ausgerichtet ist. Der Effekt ist wie unten dargestellt.
.container {
align-items: start;
}
obiger CodeZeigt an, dass der Inhalt der Zelle am Kopf ausgerichtet ist. Der Effekt ist wie unten gezeigt.
place-items
Die Eigenschaften sindalign-items
Attribute undjustify-items
Die kombinierte Kurzform der Eigenschaft.
place-items: <align-items> <justify-items>;
Unten finden Sie ein Beispiel.
place-items: start end;
Wenn der zweite Wert weggelassen wird, betrachtet der Browser ihn als gleich dem ersten Wert.
justify-content
Das Attribut ist die horizontale Position des gesamten Inhaltsbereichs innerhalb des Containers (links, mittig, rechts).align-content
Das Attribut ist die vertikale Position des gesamten Inhaltsbereichs (oben, mitte, unten).
.container {
justify-content: start | end | center | stretch | space-around | space-between | space-evenly;
align-content: start | end | center | stretch | space-around | space-between | space-evenly;
}
Diese beiden Attribute werden genau gleich geschrieben und können die folgenden Werte annehmen. (Die Bilder unten basieren alle aufjustify-content
Zum Beispiel Eigenschaftenalign-content
Das Attributdiagramm ist genau das gleiche, außer dass die horizontale Ausrichtung in eine vertikale Ausrichtung geändert wurde. )
- start – der Startrand des ausgerichteten Containers.
- end – richtet den Endrand des Containers aus.
- center – Zentrieren Sie den Behälter im Inneren.
- stretch – Wenn die Elementgröße nicht angegeben ist, wird gedehnt, um den gesamten Rastercontainer auszufüllen.
- space-around – gleicher Abstand auf beiden Seiten jedes Elements. Daher ist der Abstand zwischen den Gegenständen doppelt so groß wie der Abstand zwischen den Gegenständen und dem Behälterrand.
- space-between – Es gibt den gleichen Abstand zwischen den Elementen und keinen Abstand zwischen den Elementen und dem Containerrand.
- space-evenly – Der Abstand zwischen den Elementen ist gleich und der Abstand zwischen den Elementen und dem Containerrand ist gleich lang.
place-content
Die Eigenschaften sindalign-content
Attribute undjustify-content
Die kombinierte Kurzform der Eigenschaft.
place-content: <align-content> <justify-content>;
Unten finden Sie ein Beispiel.
place-content: space-around space-evenly;
Wenn Sie den zweiten Wert weglassen, geht der Browser davon aus, dass der zweite Wert gleich dem ersten Wert ist.
Manchmal werden einigen Elementen Positionen außerhalb des vorhandenen Rasters zugewiesen. Das Raster hat beispielsweise nur 3 Spalten, aber in der 5. Zeile ist ein bestimmtes Element angegeben. Zu diesem Zeitpunkt generiert der Browser automatisch zusätzliche Raster, um die Platzierung von Elementen zu erleichtern.
grid-auto-columns
Attribute undgrid-auto-rows
Eigenschaften werden verwendet, um die Spaltenbreite und Zeilenhöhe des vom Browser automatisch erstellten redundanten Rasters festzulegen.Sie sind auf die gleiche Weise geschrieben wiegrid-template-columns
Undgrid-template-rows
Genauso. Wenn diese beiden Eigenschaften nicht angegeben sind, bestimmt der Browser die Spaltenbreite und Zeilenhöhe des neuen Rasters vollständig anhand der Größe des Zelleninhalts.
Beispiel untenIm Inneren besteht das unterteilte Raster aus 3 Zeilen x 3 Spalten, wobei Element Nr. 8 in der 4. Zeile und Element Nr. 9 in der 5. Zeile angegeben ist.
.container {
display: grid;
grid-template-columns: 100px 100px 100px;
grid-template-rows: 100px 100px 100px;
grid-auto-rows: 50px;
}
Der obige Code gibt an, dass die neue Zeilenhöhe einheitlich 50 Pixel beträgt (die ursprüngliche Zeilenhöhe beträgt 100 Pixel).
grid-template
Die Eigenschaften sindgrid-template-columns
、grid-template-rows
Undgrid-template-areas
Die kombinierte Kurzform dieser drei Eigenschaften.
grid
Die Eigenschaften sindgrid-template-rows
、grid-template-columns
、grid-template-areas
、 grid-auto-rows
、grid-auto-columns
、grid-auto-flow
Die kombinierte Abkürzung dieser sechs Eigenschaften.
Aus Sicht der Lese- und Schreibfreundlichkeit wird empfohlen, Attribute nicht zusammenzuführen, daher werden diese beiden Attribute hier nicht im Detail vorgestellt.
Die folgenden Eigenschaften sind im Projekt definiert.
Die Position des Projekts kann angegeben werden. Die spezifische Methode besteht darin, die vier Ränder des Projekts anzugeben und welche Rasterlinien jeweils positioniert werden.
grid-column-start
Eigenschaften: Vertikale Gitterlinien dort, wo sich der linke Rand befindetgrid-column-end
Eigenschaft: Die vertikale Gitterlinie, an der sich der rechte Rand befindetgrid-row-start
Eigenschaften: Die horizontale Gitterlinie, an der sich der obere Rand befindetgrid-row-end
Eigenschaften: Die horizontale Gitterlinie, an der sich der untere Rand befindet
.item-1 {
grid-column-start: 2;
grid-column-end: 4;
}
obiger CodeGibt an, dass der linke Rand von Element 1 die zweite vertikale Rasterlinie und der rechte Rand die vierte vertikale Rasterlinie ist.
Im Bild oben sind nur der linke und rechte Rand von Element Nr. 1 angegeben, der obere und untere Rand jedoch nicht. Daher wird die Standardposition verwendet, d. h. der obere Rand ist die erste horizontale Rasterlinie. und der untere Rand ist die zweite horizontale Gitterlinie.
Mit Ausnahme von Element Nr. 1 haben andere Elemente keine festgelegten Positionen und werden automatisch vom Browser angeordnet. Zu diesem Zeitpunkt werden ihre Positionen durch die des Containers bestimmtgrid-auto-flow
Der Standardwert dieses Attributs wird durch das Attribut bestimmtrow
, sodass sie „zuerst Zeile, dann Spalte“ angeordnet werden.Leser können den Wert dieses Attributs in änderncolumn
、row dense
Undcolumn dense
, um zu sehen, wie sich die Positionen anderer Elemente geändert haben.
Beispiel untenDies ist der Effekt der Angabe der Positionen von vier Grenzen.
.item-1 {
grid-column-start: 1;
grid-column-end: 3;
grid-row-start: 2;
grid-row-end: 4;
}
Die Werte dieser vier Attribute können nicht nur als Gitterliniennummer, sondern auch als Name der Gitterlinie angegeben werden.
.item-1 {
grid-column-start: header-start;
grid-column-end: header-end;
}
Im obigen Code werden die Positionen des linken und rechten Rands als Namen der Gitterlinien angegeben.
Die Werte dieser vier Attribute können ebenfalls verwendet werdenspan
Schlüsselwort, das „span“ angibt, d. h. wie viele Gitter sich zwischen dem linken und dem rechten Rand (oberer und unterer Rand) erstrecken.
.item-1 {
grid-column-start: span 2;
}
obiger CodeZeigt an, dass sich der linke Rand von Element Nr. 1 vom rechten Rand aus über 2 Raster erstreckt.
Dies hängt mit zusammenCode untenDer Effekt ist genau derselbe.
.item-1 {
grid-column-end: span 2;
}
Verwenden Sie diese vier Attribute, wenn es eine Überschneidung von Elementen gibtz-index
Die Eigenschaft gibt die überlappende Reihenfolge der Elemente an.
grid-column
Die Eigenschaften sindgrid-column-start
Undgrid-column-end
Die kombinierte Abkürzungsform vongrid-row
Die Eigenschaften sindgrid-row-start
Attribute undgrid-row-end
Die abgekürzte Form der Fusion.
.item {
grid-column: <start-line/ <end-line>;
grid-row: <start-line/ <end-line>;
}
Unten finden Sie ein Beispiel.
.item-1 {
grid-column: 1 / 3;
grid-row: 1 / 2;
}
/* 等同于 */
.item-1 {
grid-column-start: 1;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
}
Im obigen Code das Projektitem-1
Belegen Sie die erste Zeile, von der ersten Spaltenzeile bis zur dritten Spaltenzeile.
Unter diesen beiden Attributen können Sie auch verwendenspan
Schlüsselwort, das angibt, wie viele Raster überspannt werden sollen.
.item-1 {
background: #b03532;
grid-column: 1 / 3;
grid-row: 1 / 3;
}
/* 等同于 */
.item-1 {
background: #b03532;
grid-column: 1 / span 2;
grid-row: 1 / span 2;
}
obiger Codein, Projektitem-1
Der belegte Bereich umfasst die erste Reihe + zweite Reihe und die erste Spalte + zweite Spalte.
Der Schrägstrich und die folgenden Teile können weggelassen werden und erstrecken sich standardmäßig über ein Raster.
.item-1 {
grid-column: 1;
grid-row: 1;
}
Im obigen Code das Projektitem-1
Besetzen Sie das erste Raster in der oberen linken Ecke.
grid-area
Das Attribut gibt den Bereich an, in dem das Element platziert wird.
.item-1 {
grid-area: e;
}
obiger CodeIn befindet sich Projekt Nr. 1e
Bereich, der Effekt ist wie unten gezeigt.
grid-area
Eigenschaften können auch als verwendet werdengrid-row-start
、grid-column-start
、grid-row-end
、grid-column-end
Die zusammengeführte Abkürzungsform gibt direkt den Standort des Projekts an.
.item {
grid-area: <row-start> / <column-start> / <row-end> / <column-end>;
}
Unten ist einBeispiel。
.item-1 {
grid-area: 1 / 1 / 3 / 3;
}
justify-self
Die Eigenschaft legt die horizontale Position (links, Mitte, rechts) des Zellinhalts fest, gefolgt vonjustify-items
Die Eigenschaften werden genau gleich verwendet, gelten jedoch nur für ein einzelnes Element.
align-self
Die Eigenschaft legt die vertikale Position (oben, in der Mitte, unten) des Zellinhalts fest, gefolgt vonalign-items
Die Verwendung von Attributen ist genau gleich und betrifft nur ein einzelnes Projekt.
.item {
justify-self: start | end | center | stretch;
align-self: start | end | center | stretch;
}
Beide Eigenschaften können die folgenden vier Werte annehmen.
Drunter istjustify-self: start
Beispiel von.
.item-1 {
justify-self: start;
}
place-self
Die Eigenschaften sindalign-self
Attribute undjustify-self
Die kombinierte Kurzform der Eigenschaft.
place-self: <align-self> <justify-self>;
Unten finden Sie ein Beispiel.
place-self: center center;
Wenn der zweite Wert weggelassen wird,place-self
Die Immobilie betrachtet die beiden Werte als gleich.