Ein natives Fomantic UI-Leseregal mit verifizierten kompilierten Theme-Werten, jQuery-Dropdown- und Bewertungsmodulen, ausdrücklicher Tastaturunterstützung und einer dauerhaft gespeicherten lokalen Merkliste.
Fomantic UI 2.9.4 CSS/Module mit jQuery 3.7.1. Titelbild und Erweiterung für die Tastaturbedienung der Bewertung sind eigene Entwicklungen. · Implementierungsreferenz
02
Fomantic UI-Designsystem: Designreferenz
Fomantic UI 2.9.4 kompilierter Standardwert CSS direkt untersucht. Es handelt sich um Standardwerte auf Selektorebene aus dem Less-basierten Theme, nicht um erfundene Laufzeit-CSS-Tokens. Originale Titelbildfarben und Anwendungsmaße sind separat gekennzeichnet.
Fomantic UI Designsystem: CSS-Vokabular mit jQuery-Modulen
Ein CSS-Vokabular mit jQuery-Modulen
Fomantic UI kombiniert semantische Klassenzeichenfolgen mit optionalen zustandsbehafteten Modulen. Das Bücherregal verwendet ui fluid card, ui teal button und ui basic label für die Darstellung. Dropdown und Bewertungen werden ausdrücklich über jQuery initialisiert. Das Laden des Stylesheets allein würde zwar die Karten anzeigen, aber nicht dieselbe Interaktivität bieten.
Dieses Beispiel verwendet Fomantic UI 2.9.4 und jQuery 3.7.1. Es bindet das transition-Modul vor dropdown und anschließend rating ein. Diese Abhängigkeiten sichtbar zu machen, ist sinnvoller, als eine statische Sternzeile zu zeigen und sie als interaktives Bibliotheksbeispiel zu bezeichnen. Das Anwendungsmodul wird erst ausgeführt, nachdem das Karten-Markup vorhanden ist.
Fomantic UI Designsystem: Kompilierte Standardwerte sind keine Laufzeit-Token-Namen
Kompilierte Standardwerte sind keine Laufzeitnamen für Design-Tokens
Das Standarddesign von Fomantic wird mit Less erstellt. Daher hält die Referenz tatsächliche Selektorwerte fest, etwa den Hintergrund der teal-Schaltfläche und den Eckenradius der Karte. Sie erfindet kein --fomantic-primary-Token API, das im kompilierten Paket nicht verfügbar ist. Für größere Designänderungen sollten der dokumentierte Design-Build und die Variablendateien verwendet werden.
Die benannte teal-Variante ist von der blauen primary-Variante getrennt. In diesem Bücherregal ist die Schaltfläche zum Merken teal, während die Originalillustrationen der Buchcover Papier-, Salbei- und warme Tonfarben verwenden. Diese Cover sind Illustrationen der Anwendung und keine offiziellen Farbpalettenmuster. Die Werte für Hover, Fokus und gedrückte Schaltflächen entsprechen weiterhin den Fomantic-Standardeinstellungen.
Fomantic UI Designsystem: Vierzehn-Pixel-Rems verändern die Geometrie
Rem-Werte von vierzehn Pixeln verändern die Geometrie
Das Standard-Stylesheet der Website setzt die Schriftgröße des Root-Elements und des Body-Texts auf vierzehn Pixel. Der Eckenradius von 0.28571429rem für Schaltflächen und Karten entspricht daher ungefähr vier Pixeln. Wird dieser rem-Wert in einem anderen Kontext mit einer Root-Schriftgröße von sechzehn Pixeln übernommen, ergibt sich eine andere Geometrie. Deshalb enthält die Referenz die Root-Größe, statt nur einen unerklärten Radius aufzuführen.
Lato ist die bevorzugte Schriftfamilie; das kompilierte Paket enthält lokale Schriftdateien. Diese eigenständige Vorschau bindet die Schriftressourcen direkt ein, statt einen Webfont-Dienst anzufragen. Die Seitenüberschrift ist eine eigens festgelegte Überschreibung mit vierunddreißig Pixeln. Kartenbeschreibungen behalten den kompakten Fließtext bei, erhalten jedoch einen großzügigeren Zeilenabstand der Anwendung.
Fomantic UI Designsystem: Der Kartenaufbau trennt Inhalte und Aktionen klar voneinander
Der Kartenaufbau trennt Inhalt und Aktionen klar voneinander
Jede native Karte enthält ein dekoratives Cover, einen Inhaltsbereich für Thema und Beschreibung, einen weiteren Inhaltsbereich für die Bewertung sowie einen zusätzlichen Inhaltsbereich für die Aktion zum Merken. Fluid-Karten füllen das ursprüngliche dreispaltige Raster, statt die Standardbreite des Pakets von 290px zu verwenden. Die Abstände einzelner Karten werden entfernt, damit das Raster gleichmäßige Zwischenräume vorgibt.
Die Aufgaben stellen unterschiedliche Leseanforderungen: den Buchstabenabstand vergleichen, ein Element entfernen, um den negativen Raum zu untersuchen, und kontextabhängige Farbänderungen beobachten. Ihre Cover greifen diese Übungen mit Typografie, Rechtecken und überlappenden Farben visuell auf. Es handelt sich ausdrücklich um eigens erstellte Aufgaben, die keine Empfehlung durch einen Verlag implizieren.
Fomantic UI Designsystem: Das native Rating-Verhalten für jeden Eingabepfad aufrufen
Rufe das native Bewertungsverhalten für jeden Eingabepfad auf
Das Rating-Modul ist mit einem Maximum von fünf und clearable true konfiguriert. onRate empfängt den aktuellen Zahlenwert und synchronisiert sowohl die sichtbare Bewertung als auch den barrierefrei zugänglichen Slider-Wert. Die Aktion „Bewertung löschen“ ruft das Verhalten clear rating des Moduls auf, statt aktive Klassen manuell zu entfernen.
Das native Sternmodul unterstützt Mausinteraktionen, dieses Beispiel ergänzt jedoch auch eine ausdrückliche Tastatursteuerung. Der Bewertungscontainer ist ein beschrifteter Slider mit einem Wertebereich von null bis fünf. Mit den Pfeiltasten ändert sich der Wert um einen Schritt, mit Home wird die Bewertung gelöscht und mit End fünf gewählt. Jeder dieser Wege ruft set rating auf, sodass die angezeigten Sterne und die Anwendungsausgabe denselben Modulzustand verwenden.
Wechseln Sie mit der Tabulatortaste zu einer Bewertung und drücken Sie zweimal die rechte Pfeiltaste, um zwei von fünf zu wählen.
Drücken Sie End, um fünf zu wählen, und anschließend Home, um die Bewertung auf „Nicht bewertet“ zurückzusetzen.
Klicken Sie auf einen Stern und prüfen Sie, ob Textausgabe und barrierefrei zugänglicher Wert gemeinsam aktualisiert werden.
Fomantic UI Designsystem: Das Filtern im Dropdown erhält ausgeblendete Zustände
Die Dropdown-Filterung bewahrt ausgeblendete Zustände
Das Themen-Auswahlfeld wird durch den Initialisierer dropdown in ein natives Fomantic-Dropdown umgewandelt. Sein onChange-Callback blendet Karten aus, deren Thema nicht dem ausgewählten Wert entspricht, und aktualisiert die Anzahl der sichtbaren Aufgaben. Die Option „Alle Themen“ zeigt wieder das gesamte Bücherregal an. Für die Bewegung des Menüs verwendet die Komponente das transition-Modul.
Beim Filtern werden Karten weder gelöscht noch neu erstellt. Vorhandene Bewertungen und die Merkliste bleiben an ihren ursprünglichen Einträgen erhalten, solange diese ausgeblendet sind. Das ist beabsichtigt: Das Eingrenzen des Bücherregals dient der Ansicht und soll nicht frühere Entscheidungen der Nutzer löschen. Daher kann die Zusammenfassung auch einen Eintrag außerhalb des aktuellen Filters enthalten.
Fomantic UI Designsystem: Ein Eintrag auf der Merkliste ist unabhängig von einer Bewertung
Eine Auswahlliste ist unabhängig von einer Bewertung
Eine Bewertung drückt Interesse auf einer Skala von null bis fünf aus; ein Eintrag auf der Merkliste ist eine separate Ja-Nein-Entscheidung. Nutzer können eine Aufgabe für eine Diskussion vormerken, bevor sie sie bewerten. Die Merkliste-Schaltfläche gibt ihren ausgewählten Zustand über aria-pressed an und wechselt zwischen den Beschriftungen „Hinzufügen“ und „Entfernen“. Die Zusammenfassung ermittelt die Namen anhand einer Set-Struktur mit stabilen Themen-IDs.
Der Statusbereich beschreibt die ausgewählten Aufgaben, ohne zu behaupten, dass eine Sammlung extern gespeichert wurde. Beim Neuladen des Browsers wird dieses Beispiel zurückgesetzt. Für eine tatsächlich gemeinsam genutzte Leseliste wären dauerhafte Speicherung, Nutzeridentität und Konfliktbehandlung erforderlich. Diese Funktionen entstehen nicht dadurch, dass man einer Karte eine Klasse hinzufügt.
Fomantic UI Designsystem: Die numerische Bedeutung darf nicht auf dekorative Sterne reduziert werden
Die numerische Bedeutung darf nicht auf dekorative Sterne reduziert werden
Die Sternsymbole sind für assistive Technologien ausgeblendet, da der übergeordnete Schieberegler den Zahlenwert und die Beschriftung bereitstellt. Eine sichtbare Ausgabe wie „Nicht bewertet“ oder ein Bruchwert vermittelt dieselbe Bedeutung, ohne dass die lesende Person farbige Symbole zählen muss. Eine bei Tastaturfokus sichtbare Kontur kennzeichnet den aktiven Schieberegler. Die Schaltfläche „Bewertung löschen“ setzt den Fokus wieder auf dieses Steuerelement.
Auch die Buchcover-Formen sind dekorativ. Der tatsächliche Titel, die Dauer und die Beschreibung der Aufgabe bleiben als Text in der Karte erhalten. Auf schmalen Bildschirmen werden die Karten am ursprünglichen Breakpoint von 760px untereinander angeordnet. Das Beispiel setzt die Höhe des kompilierten body-Elements auf die Höhe des Viewports zurück und hebt den ausgeblendeten horizontalen Überlauf auf. So richtet sich die Einbettung nach der tatsächlichen Inhaltshöhe und verbirgt keine Layoutfehler.
Gib die aktuelle Zahl sowohl als Text als auch als zugänglichen Wert aus.
Verwende native Schaltflächen zum Löschen und Ändern der Merkliste.
Erhalte Beschriftungen und vollständige Beschreibungen, wenn das Raster einspaltig wird.
Fomantic UI-Designsystem: Schriftarten zusammen mit den Styles bereitstellen oder bündeln
Lege die Schriftdateien zu den Styles oder binde sie ins Bundle ein
Kopiere in einem regulären Projekt das vollständige Verzeichnis fomantic-ui-css, statt semantic.css herauszulösen und dabei die Theme-Assets zu vergessen. Die kompilierten Styles verweisen über relative Pfade auf Lato- und Icon-Schriftdateien. Die folgende Einrichtung erhält diese Pfade und lädt jQuery vor den Paketmodulen.
Die lokale Vorschau verwendet nur die erforderlichen Komponenten-Styles und Skripte und bettet anschließend die referenzierten Assets in ein einzelnes Dokument ein. Sie stellt keine externen Schriftarten bereit. Produktions-Bundler verarbeiten diese Assets möglicherweise anders. Der Schriftpfad und die Modulreihenfolge müssen jedoch in der ausgelieferten Seite getestet werden; ein erfolgreicher npm install allein ist kein ausreichender Nachweis.
Die kompilierte Standardeinstellung height:100% für die Website wird für die Einbettung auf auto zurückgesetzt.
Überlauf im body-Element wird nicht verwendet, um Layoutfehler zu verbergen.
04
Fomantic UI-Designsystem: Einrichtung des Agents
Ausgangspunkt für die Implementierung
Getestet mit Fomantic UI 2.9.4 und jQuery 3.7.1. Das eigenständige Beispiel bettet die erforderlichen Schrift-Assets ein; bei der regulären Einrichtung bleiben die relativen Paketpfade erhalten. Der HTML-Wrapper enthält das vollständige body-Markup. Speichere die bereitgestellten Interaktions- und CSS-Beispiele unter den hier angegebenen Dateinamen.
html
<!-- npm install [email protected][email protected] -->
<!-- Copy node_modules/fomantic-ui-css into public/vendor/fomantic-ui-css. -->
<!-- Copy node_modules/jquery/dist/jquery.min.js into public/vendor/jquery.min.js. -->
<link rel="stylesheet" href="/vendor/fomantic-ui-css/semantic.min.css">
<link rel="stylesheet" href="style.css">
<main class="reading-room"><header><div><p class="kicker">FOMANTIC UI · READING ROOM</p><h1>Make a shelf worth returning to.</h1><p class="intro">Rate three original reading prompts and build a local discussion shortlist.</p></div><span class="ui teal basic label">Local collection</span></header><div class="toolbar"><label for="topic">Show topic</label><select id="topic" class="ui selection dropdown"><option value="all">All topics</option><option value="type">Typography</option><option value="space">Space & rhythm</option><option value="color">Color</option></select><span id="visible-count">3 prompts</span></div><div class="book-grid"><article class="ui fluid card" data-topic="type" data-name="Letters in the margins"><div class="book-cover type-cover" aria-hidden="true"><span>Aa</span><small>FORM / COUNTERFORM</small></div><div class="content"><div class="meta">TYPOGRAPHY · 18 MIN</div><h2 class="header">Letters in the margins</h2><div class="description">Compare a narrow editorial column with a generous display line. Find where the rhythm changes.</div></div><div class="content"><label class="rating-label" id="label-type">Your interest</label><div class="ui huge star rating" data-rating="0" data-max-rating="5" role="slider" tabindex="0" aria-labelledby="label-type" aria-valuemin="0" aria-valuemax="5" aria-valuenow="0"></div><output class="score">Not rated</output><button class="ui tiny basic button clear-rating" type="button">Clear rating</button></div><div class="extra content"><button class="ui fluid teal button shortlist" aria-pressed="false">Add to shortlist</button></div></article><article class="ui fluid card" data-topic="space" data-name="The space between"><div class="book-cover space-cover" aria-hidden="true"><span></span><span></span><span></span><small>PAUSE / SEQUENCE</small></div><div class="content"><div class="meta">SPACE & RHYTHM · 12 MIN</div><h2 class="header">The space between</h2><div class="description">Remove one element from a crowded page. Rebalance the remaining space without adding decoration.</div></div><div class="content"><label class="rating-label" id="label-space">Your interest</label><div class="ui huge star rating" data-rating="0" data-max-rating="5" role="slider" tabindex="0" aria-labelledby="label-space" aria-valuemin="0" aria-valuemax="5" aria-valuenow="0"></div><output class="score">Not rated</output><button class="ui tiny basic button clear-rating" type="button">Clear rating</button></div><div class="extra content"><button class="ui fluid teal button shortlist" aria-pressed="false">Add to shortlist</button></div></article><article class="ui fluid card" data-topic="color" data-name="A color and its neighbor"><div class="book-cover color-cover" aria-hidden="true"><span></span><span></span><small>CONTEXT / CONTRAST</small></div><div class="content"><div class="meta">COLOR · 15 MIN</div><h2 class="header">A color and its neighbor</h2><div class="description">Place the same accent on two backgrounds. Describe the shift before changing its value.</div></div><div class="content"><label class="rating-label" id="label-color">Your interest</label><div class="ui huge star rating" data-rating="0" data-max-rating="5" role="slider" tabindex="0" aria-labelledby="label-color" aria-valuemin="0" aria-valuemax="5" aria-valuenow="0"></div><output class="score">Not rated</output><button class="ui tiny basic button clear-rating" type="button">Clear rating</button></div><div class="extra content"><button class="ui fluid teal button shortlist" aria-pressed="false">Add to shortlist</button></div></article></div><section class="ui message summary"><h2 class="header">Discussion shortlist</h2><p id="summary" role="status">No prompts selected. Add one to begin.</p><p class="scope">Ratings and selections stay in this browser page. These are original prompts, not published books.</p></section></main>
<script src="/vendor/jquery.min.js"></script>
<script src="/vendor/fomantic-ui-css/components/transition.min.js"></script>
<script src="/vendor/fomantic-ui-css/components/dropdown.min.js"></script>
<script src="/vendor/fomantic-ui-css/components/rating.min.js"></script>
<script src="app.js"></script>
<!-- Keep the themes/ assets beside the copied CSS. -->
Ein Prompt für dein Projekt
Agenten-Prompt
Erweitere die Merkliste des Leseraums in Fomantic UI 2.9.4 mithilfe der bereitgestellten jQuery-Modulinitialisierung sowie der Dropdown- und Rating-Komponenten. Verknüpfe die drei Leseaufgaben, ihren Bewertungsstatus und die lokale Merkliste mit den sichtbaren Karten. Behalte die explizite Tastaturunterstützung und die Slider-Semantik für das Bewertungssteuerelement sowie die passenden Theme- und Icon-Assets bei. Die Merkliste muss doppelte Einträge verhindern und ihren aktuellen Inhalt klar anzeigen. Sie ist weder ein Workflow für Support-Tickets noch ein entfernter Empfehlungsdienst.
05
Fomantic UI-Designsystem: Quellen und Umfang
Fomantic UI 2.9.4 mit jQuery 3.7.1. Theme-Werte entsprechen den kompilierten Standardeinstellungen; ursprüngliche Covergrafiken und Tastaturerweiterungen sind gekennzeichnet. Alle Auswahlen bleiben lokal.