suchen
HeimWeb-FrontendCSS-TutorialSo fügen Sie Kommas zwischen einer Liste von Elementen mit CSS dynamisch hinzu

So fügen Sie Kommas zwischen einer Liste von Elementen mit CSS hinzu

Angenommen, Sie haben eine Liste von Elementen wie Früchten: Bananen, Äpfel, Orangen, Birnen, Nektarinen.

Wir können Kommas (,) direkt in HTML hinzufügen, aber lassen Sie uns sehen, wie es in CSS implementiert werden kann, was uns mehr Kontrolle gibt. Gleichzeitig müssen wir auch sicherstellen, dass der letzte Artikel keine Kommas hat.

Ich brauchte kürzlich diese Funktion in einem realen Projekt. Ein Teil der Anforderung besteht darin, dass jedes Projekt in der Liste über JavaScript versteckt/angezeigt werden kann. Unabhängig davon, welche Elemente derzeit angezeigt werden, muss das Komma korrekt angezeigt werden.

Eine ziemlich elegante Lösung, die ich gefunden habe, ist die Verwendung eines universellen Geschwisterkombinators. Wir werden dies später diskutieren. Beginnen wir mit einigen Beispielen HTML. Angenommen, Sie beginnen mit einer Obstliste:

<code></code>
  • Banane
  • Apfel
  • orange
  • Birne
  • Nektarine

Und einige grundlegende CSS, damit es als Liste erscheinen wird:

 .Fruits {
  Anzeige: Flex;
  Padding-Inline-Start: 0;
  Listenstil: Keine;
}

.Obst {
  Anzeige: Keine; /* standardmäßig ausblenden*//
} 
.fruit.on { /* Klasse, hinzugefügt von JavaScript, verwendet, um Listenelemente* /anzuzeigen
  Anzeige: Inline-Block;
}

Nehmen wir nun an, in dieser Schnittstelle passiert etwas, z. Jetzt werden die verschiedenen Obstsets angezeigt, sodass die Klasse der Classlist -API zum Betrieb verwendet wird.

Bisher erstellen unsere HTML und CSS eine solche Liste:

<code>香蕉橙子油桃</code>

Jetzt können wir mit einem universellen Geschwister -Kombinierer Kommas und Räume zwischen zwei auf Elementen hinzufügen:

 .fruit.on ~ .fruit.on :: vor {
  Inhalt: ', '; 
}

Gut!

Sie fragen sich vielleicht: Warum nicht einfach ein Komma auf alle Listenelemente anwenden und es dann aus dem letzten Element mit so etwas wie folgt entfernen: Last-Child oder: Last-of-Type? Das Problem dabei ist, dass sich das letzte Kinderelement zu einem bestimmten Zeitpunkt in einem "geschlossenen" Zustand befindet. Was wir also wirklich wollen, ist das letzte Projekt im "Open" -Status, das in CSS nicht einfach zu implementieren ist, da es keine "letzte Klasse" verfügbar gibt. Daher werden allgemeine Kombinatortricks verwendet!

In der Benutzeroberfläche habe ich maximale Weite anstelle von Anzeige verwendet und sie zwischen 0 und einem vernünftigen Maximum umgeschaltet, damit ich den Übergang natürlicher anzeigen und ausblenden konnte, sodass Benutzer es den Benutzern leichter erleichtern, zu sehen, welche Elemente hinzugefügt oder aus der Liste entfernt werden oder entfernt werden. Sie können dem Pseudoelement auch den gleichen Effekt hinzufügen, um es super glatt zu machen.

Hier ist eine Demo mit ein paar leicht unterschiedlichen Beispielen. Das Fruchtbeispiel verwendet versteckte Klassen anstelle von Klassen, während das Gemüsebeispiel animierte Effekte hat. SCSS wird auch zum Nisten verwendet:

Ich hoffe, dies hilft anderen, nach einer ähnlichen Lösung zu suchen!

Das obige ist der detaillierte Inhalt vonSo fügen Sie Kommas zwischen einer Liste von Elementen mit CSS dynamisch hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Ankerpositionierung kümmert sich nur um die QuellenreihenfolgeAnkerpositionierung kümmert sich nur um die QuellenreihenfolgeApr 29, 2025 am 09:37 AM

Die Tatsache, dass die Ankerpositionierung die HTML-Quellenreihenfolge vermeidet, ist so CSS-y, weil sie eine weitere Trennung von Bedenken zwischen Inhalt und Präsentation ist.

Was bedeutet Margin: 40px 100px 120px 80px?Was bedeutet Margin: 40px 100px 120px 80px?Apr 28, 2025 pm 05:31 PM

In Artikel wird die CSS -Margin -Eigenschaft erörtert, insbesondere "Margin: 40px 100px 120px 80px", seine Anwendung und Auswirkungen auf das Webseitenlayout.

Was sind die verschiedenen CSS -Grenzeigenschaften?Was sind die verschiedenen CSS -Grenzeigenschaften?Apr 28, 2025 pm 05:30 PM

In dem Artikel werden die CSS -Grenzeigenschaften erörtert und sich auf Anpassung, Best Practices und Reaktionsfähigkeit konzentriert. Hauptargument: Border-Radius ist für reaktionsschnelle Designs am effektivsten.

Was sind CSS -Hintergründe, listen Sie die Eigenschaften auf?Was sind CSS -Hintergründe, listen Sie die Eigenschaften auf?Apr 28, 2025 pm 05:29 PM

In dem Artikel werden CSS -Hintergrundeigenschaften, deren Verwendungszwecke für die Verbesserung des Website -Designs und die zu vermeidenen Fehler erläutert. Der Hauptaugenmerk liegt auf reaktionsschnellem Design unter Verwendung der Hintergrundgröße.

Was sind CSS HSL -Farben?Was sind CSS HSL -Farben?Apr 28, 2025 pm 05:28 PM

In Artikel werden CSS HSL -Farben, ihre Verwendung im Webdesign und die Vorteile gegenüber RGB erörtert. Der Schwerpunkt liegt auf der Verbesserung des Designs und der Zugänglichkeit durch intuitive Farbmanipulation.

Wie können wir Kommentare in CSS hinzufügen?Wie können wir Kommentare in CSS hinzufügen?Apr 28, 2025 pm 05:27 PM

In dem Artikel wird die Verwendung von Kommentaren in CSS erörtert, in denen Einzellinien- und Multi-Line-Kommentarsyntaxe beschrieben werden. Es wird argumentiert, dass die Kommentare die Lesbarkeit, die Wartbarkeit und die Zusammenarbeit von Code verbessern, sich jedoch auf die Leistung der Website auswirken können, wenn sie nicht ordnungsgemäß verwaltet werden.

Was sind CSS -Selektoren?Was sind CSS -Selektoren?Apr 28, 2025 pm 05:26 PM

In dem Artikel werden CSS -Selektoren, ihre Typen und die Verwendung zum Styling von HTML -Elementen erörtert. Es vergleicht ID- und Klassenauswahlern und befasst sich mit Leistungsproblemen mit komplexen Selektoren.

Welche Art von CSS hat die höchste Priorität?Welche Art von CSS hat die höchste Priorität?Apr 28, 2025 pm 05:25 PM

In dem Artikel wird die CSS -Priorität erläutert und sich auf Inline -Stile mit der höchsten Spezifität konzentriert. Es erklärt Spezifitätsniveaus, übergeordnete Methoden und Debugging -Tools zur Verwaltung von CSS -Konflikten.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion