gruppieren Sie die ausgewählten Listenelemente geschickt über CSS Grid, um die Benutzererfahrung zu verbessern! Die ausgewählte Elementgruppierung ist eine gemeinsame Designstrategie, mit der Benutzer ausgewählte und nicht ausgewählte Elemente schnell unterscheiden können. In der To-Do-Liste werden beispielsweise die abgeschlossenen Elemente nach oben bewegen, sodass Benutzer sich auf die verbleibenden Aufgaben konzentrieren können.
Wir werden eine ähnliche Gruppierungs -Benutzeroberfläche entwerfen. Im Gegensatz zur einfachen Umlagerung ausgewählter Elemente verwenden wir das CSS -Netz, um die ausgewählten Elemente horizontal zu lagern, um zwischen ausgewählten und nicht ausgewählten Elementen weiter zu unterscheiden.
Wir werden zwei Methoden untersuchen. Einer verwendet auto-fill
, was für Situationen geeignet ist, in denen das ausgewählte Element die Grenze des Gitterbehälters nicht überschreitet, was ein stabiles Layout sicherstellt. span
Der Code
). Wir müssen die Elemente nicht zusätzlich einwickeln, da das CSS -Netzattribut das Projektlayout bestimmt. Beachten Sie, dass ich implizite <ul></ul>
Elemente zum Wickeln verwende und zusätzliche Verpackungen vermeiden kann. Explizite Tags werden jedoch normalerweise stärker von assistiven Technologien unterstützt. <label></label>
Methode 1: Verwenden Sie auto-fill
ul { width: 250px; display: grid; gap: 14px 10px; grid-template-columns: repeat(auto-fill, 40px); justify-content: center; /* ...其他样式... */ }
, das das Listenelement enthält, wird auf <ul></ul>
gesetzt, um es zu einem Gitterbehälter zu machen. Es legt eine Lücke von 14px und 10px zwischen Gitterzeilen und Spalten. Der Netzinhalt ist horizontal auf das Zentrum ausgerichtet. Die Eigenschaft display: grid
gibt die Größe der Spalten im Raster an. Im Anfangszustand befinden sich alle Elemente in einer einzigen Spalte. Sobald die Elemente ausgewählt sind, wechseln sie in die erste Zeile, wobei jedes ausgewählte Element eine Spalte besetzt. Der Schlüssel liegt im Wert. grid-template-columns
Der Wert auto-fill
-Funktion verwendet. Es stellt sicher, dass die Spalten wiederholt werden. Jede Spalte hat die in auto-fill
(40px) angegebene Spurgröße und kann sich an die Grenzen des Gitterbehälters anpassen. repeat()
repeat()
Um sicherzustellen, dass der anfängliche Status des Listelements eine einzelne Spalte ist:
Wenn das Element ausgewählt ist (das Element
li { width: inherit; grid-column: 1; /* 等同于:grid-column-start: 1; grid-column-end: auto; */ /* ...其他样式... */ }
-Alektor: <input>
:has(:checked)
li { width: inherit; grid-column: 1; /* ...其他样式... */ &:has(:checked) { grid-area: 1; /* 等同于:grid-row-start: 1; grid-column-start: auto; grid-row-end: auto; grid-column-end: auto; */ width: 40px; /* ...其他样式... */ } /* ...其他样式... */ }
Methode 2: Verwenden Sie das Schlüsselwort
span
Diese Methode erfordert nicht das Attribut
-Stil lautet wie folgt: grid-template-columns
<ul></ul>
ul { width: 250px; display: grid; gap: 14px 10px; justify-content: center; justify-items: center; /* ...其他样式... */ }
Stil: justify-items: center
<li>
li { width: inherit; grid-column: 1 / span 6; /* 等同于:grid-column-start: 1; grid-column-end: span 6; */ /* ...其他样式... */ }
justify-items: center
li { width: inherit; grid-column: 1 / span 6; /* ...其他样式... */ &:has(:checked) { grid-area: 1; width: 120px; /* ...其他样式... */ } /* ...其他样式... */ }
Wählen Sie die Bestellung
aus Die Reihenfolge ausgewählter und nicht ausgewählter Elemente bleibt mit der Quellreihenfolge übereinstimmend. Wenn die Bildschirmreihenfolge für die Auswahl der Benutzer übereinstimmt, wird der inkrementierte Bestellwert dynamisch zugewiesen, wenn das Element ausgewählt ist. Zusammenfassung CSS -Gitter macht beide Methoden ohne viel Konfiguration sehr flexibel. Durch das Platzieren von Elementen entweder auf Achse (Zeile oder Spalte) mit Wenn das Element den Container überläuft, hilft die Verwendung der
<li>
<li>
auto-fill
können Sie ausgewählte Elemente problemlos in Gitterbehälter gruppieren, ohne das Layout nicht ausgewählter Elemente im selben Container zu beeinflussen, solange die ausgewählten Elemente den Container nicht überfüllen. span
-Methode, das Layout unabhängig von der Länge des ausgewählten Elements auf der angegebenen Achse beizubehalten. Einige Designalternativen zur Benutzeroberfläche umfassen die Gruppierung ausgewählter Elemente bis zum Ende einer Liste oder das Austausch horizontaler und vertikaler Strukturen.
Das obige ist der detaillierte Inhalt vonGruppierung der Auswahllistenelemente zusammen mit CSS Grid. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!