Uno scaffale di lettura nativo Fomantic UI con valori del tema compilati e verificati, moduli jQuery per menu a discesa e valutazioni, supporto esplicito alla tastiera e una selezione breve persistente in locale.
Fomantic UI 2.9.4 CSS/modules con jQuery 3.7.1. Le illustrazioni delle copertine e il supporto aggiuntivo per la tastiera nelle valutazioni sono originali. · Riferimento per l’implementazione
02
Fomantic UI Riferimento di progettazione del sistema di design
Fomantic UI Valori predefiniti compilati di 2.9.4 CSS, esaminati direttamente. Sono valori predefiniti a livello di selettore ricavati dal tema basato su Less, non token CSS di runtime inventati. I colori originali delle copertine e le dimensioni dell’applicazione sono indicati separatamente.
Fomantic UI Vocabolario del sistema di design A CSS con moduli jQuery
Un vocabolario CSS con moduli jQuery
Fomantic UI combina stringhe di classi semantiche con moduli facoltativi con stato. Il ripiano di lettura usa ui fluid card, ui teal button e ui basic label per l’aspetto. Il menu a discesa e le valutazioni vengono inizializzati esplicitamente tramite jQuery. Il solo foglio di stile visualizzerebbe le card, ma non fornirebbe la stessa interattività.
Questo esempio usa Fomantic UI 2.9.4 e jQuery 3.7.1. Include il modulo transition prima di dropdown e poi rating. Rendere visibili queste dipendenze è più utile che mostrare una fila statica di stelle definendola un esempio interattivo di libreria. Il modulo originale dell’applicazione viene eseguito solo dopo la creazione del markup delle card.
Fomantic UI I valori predefiniti compilati del sistema di design non sono nomi di token di runtime
I valori predefiniti compilati non sono i nomi dei token in fase di esecuzione
Il tema predefinito di Fomantic è realizzato con Less. Il riferimento riporta quindi valori reali dei selettori, come lo sfondo del pulsante verde petrolio e il raggio del bordo della card. Non inventa un token --fomantic-primary API che il pacchetto compilato non espone. Per modificare il tema in modo più ampio, usa i file delle variabili e la procedura di compilazione del tema documentati.
La variante verde petrolio è distinta dalla variante blu primaria. In questo ripiano di lettura l’azione per l’elenco di lettura è verde petrolio, mentre le illustrazioni originali delle copertine usano colori carta, salvia e argilla calda. Queste copertine sono illustrazioni dell’applicazione, non campioni ufficiali della palette. I valori hover, focus e premuto dei pulsanti restano quelli nativi predefiniti di Fomantic.
Fomantic UI I rem da quattordici pixel modificano la geometria del sistema di design
Le unità rem da quattordici pixel cambiano la geometria
Il foglio di stile predefinito del sito imposta la dimensione di base e il testo del body a quattordici pixel. Il raggio di 0.28571429rem di pulsanti e card corrisponde quindi a circa quattro pixel. Riutilizzare quel valore rem con una dimensione di base di sedici pixel produrrebbe una geometria diversa; per questo il riferimento indica la dimensione di base anziché riportare da solo un raggio privo di contesto.
Lato è la famiglia preferita e il pacchetto compilato include file di font locali. Questa anteprima autonoma incorpora le risorse dei font invece di richiedere un servizio di web font. Il titolo della pagina è una modifica originale a trentaquattro pixel; le descrizioni delle card mantengono un testo compatto, con un’interlinea più ampia definita dall’applicazione.
Fomantic UI L’anatomia delle card del sistema di design distingue contenuti e azioni
La struttura della scheda distingue contenuti e azioni
Ogni card nativa contiene una copertina decorativa, un blocco di contenuto per argomento e descrizione, un altro blocco per la valutazione e un blocco aggiuntivo per l’azione relativa all’elenco di lettura. Le card fluide riempiono la griglia originale a tre colonne invece di usare la larghezza predefinita di 290px del pacchetto. La pagina rimuove i margini delle singole card, così la griglia può mantenere spaziature uniformi.
Gli spunti propongono attività di lettura diverse: confrontare la spaziatura tra le lettere, rimuovere un elemento per studiare lo spazio negativo e osservare i cambiamenti contestuali del colore. Le copertine richiamano visivamente questi esercizi con caratteri tipografici, rettangoli e colori sovrapposti. Sono spunti originali e non implicano l’approvazione di alcun editore.
Fomantic UI Per ogni modalità di input, usa il comportamento nativo delle valutazioni del sistema di design
Usa il comportamento nativo delle valutazioni per ogni modalità di inserimento
Il modulo rating è configurato con un massimo di cinque e con clearable true. onRate riceve il valore numerico corrente e sincronizza sia il punteggio visibile sia il valore accessibile del cursore. L’azione Cancella valutazione richiama il comportamento clear rating del modulo anziché rimuovere manualmente le classi attive.
Il modulo nativo delle stelle supporta l’interazione con il mouse, ma questo esempio aggiunge anche un comportamento esplicito per la tastiera. Il contenitore della valutazione è un cursore etichettato con un intervallo da zero a cinque. I tasti freccia modificano il valore di un’unità, Home cancella la valutazione ed End seleziona cinque. Ogni modalità richiama set rating, così le stelle visualizzate e il valore mostrato dall’applicazione condividono lo stesso stato del modulo.
Portati su una valutazione con Tab e premi due volte Freccia destra per scegliere due stelle su cinque.
Premi End per scegliere cinque, poi Home per tornare a Nessuna valutazione.
Fai clic su una stella e verifica che il testo visualizzato e il valore accessibile si aggiornino insieme.
Fomantic UI Il filtro del menu a discesa del sistema di design preserva lo stato degli elementi nascosti
Il filtraggio del dropdown mantiene lo stato degli elementi nascosti
Il selettore degli argomenti diventa un menu a discesa nativo di Fomantic tramite l’inizializzatore dropdown. La funzione di callback onChange nasconde le card il cui argomento non corrisponde al valore selezionato e aggiorna il conteggio degli spunti visibili. L’opzione Tutti gli argomenti ripristina l’intero ripiano. Il componente usa il modulo transition per animare lo spostamento del menu.
Il filtro non distrugge né ricrea una card. Le valutazioni esistenti e l’appartenenza all’elenco di lettura restano associate ai record originali anche quando sono nascosti. È una scelta intenzionale: restringere il ripiano è un’operazione di visualizzazione, non una richiesta di cancellare le scelte precedenti dell’utente. Il riepilogo può quindi includere un elemento al di fuori del filtro corrente.
Fomantic UI Nel sistema di design, l’elenco di lettura è indipendente dalla valutazione
Una lista ristretta è indipendente da una valutazione
La valutazione esprime interesse su una scala da zero a cinque, mentre l’appartenenza all’elenco di lettura è una decisione distinta, di tipo sì/no. L’utente può conservare uno spunto per discuterne prima di valutarlo. Il pulsante dell’elenco di lettura espone lo stato selezionato tramite aria-pressed e alterna le etichette Aggiungi e Rimuovi. Il riepilogo ricava i nomi da un Set di ID stabili degli argomenti.
L’area di stato descrive gli spunti selezionati senza affermare che una raccolta sia stata salvata da remoto. Ricaricando il browser, questo esempio viene azzerato. Un vero elenco di lettura condiviso richiederebbe persistenza, identità utente e gestione dei conflitti; queste funzionalità non si ottengono aggiungendo una classe alla card.
Fomantic UI Nel sistema di design, preserva il significato numerico oltre le stelle decorative
Preserva il significato numerico oltre le stelle decorative
Le icone delle stelle sono nascoste alle tecnologie assistive perché il cursore genitore espone il valore numerico e l’etichetta. Un testo visibile come Nessuna valutazione o il punteggio espresso come frazione comunica lo stesso significato senza richiedere di contare le icone colorate. Un contorno focus-visible evidenzia il cursore attivo e il pulsante Cancella riporta il focus su quel controllo.
Anche le forme delle copertine dei libri sono decorative. Il titolo effettivo dello spunto, la durata e la descrizione restano testo all’interno della card. Sugli schermi stretti, le card si dispongono in colonna al breakpoint originale di 760px. L’esempio ripristina l’altezza della viewport del body compilato e nasconde l’overflow orizzontale, così l’incorporamento usa l’altezza effettiva dei contenuti e non nasconde difetti di layout.
Esponi il numero corrente sia come testo sia come valore accessibile.
Usa pulsanti nativi per cancellare le valutazioni e modificare l’elenco di lettura.
Mantieni le etichette e le descrizioni complete quando la griglia passa a una sola colonna.
Fomantic UI Distribuisci i font insieme agli stili oppure includili nel bundle del sistema di design
Includi i font insieme agli stili oppure incorporali nel bundle
In un progetto normale, copia l’intera directory fomantic-ui-css invece di estrarre semantic.css e dimenticare la directory themes. Gli stili compilati fanno riferimento ai file dei font Lato e delle icone tramite percorsi relativi. La configurazione qui sotto mantiene intatti questi percorsi e carica jQuery prima dei moduli del pacchetto.
L’anteprima locale usa solo gli stili e gli script dei componenti necessari, poi incorpora in un unico documento le risorse a cui fanno riferimento. Non effettua richieste esterne di font. I bundler di produzione possono elaborare queste risorse in modo diverso, ma i percorsi dei font e l’ordine dei moduli vanno verificati nella pagina distribuita, senza darli per scontati dopo un’installazione npm riuscita.
L’altezza predefinita compilata del sito, height:100%, viene reimpostata su auto per l’incorporamento.
L’overflow del body non viene usato per nascondere errori di layout.
04
Configurazione dell’agente di sistema di progettazione sistema di design Fomantic UI
Punto di partenza per l’implementazione
Verificato con Fomantic UI 2.9.4 e jQuery 3.7.1. L’esempio autonomo incorpora le risorse dei font necessarie; la configurazione standard mantiene i percorsi relativi al pacchetto. Il wrapper HTML include tutto il markup del body; salva gli esempi forniti per le interazioni e per CSS con i nomi di file indicati qui.
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. -->
Un prompt per il tuo progetto
Prompt per l’agente
Estendi la selezione di letture della sala di lettura Fomantic UI 2.9.4 usando l’inizializzazione dei moduli jQuery fornita e i componenti Dropdown e Rating. Mantieni collegati alle schede visibili i tre spunti di lettura, i relativi punteggi e il comportamento della selezione locale. Conserva il supporto esplicito alla tastiera e la semantica del cursore aggiunti al controllo di valutazione, insieme alle risorse del tema e delle icone corrispondenti. La selezione deve impedire aggiunte duplicate e mostrare chiaramente i contenuti correnti; non è un flusso di gestione delle richieste di assistenza né un servizio remoto di consigli.
05
Fonti e ambito del sistema di progettazione sistema di design Fomantic UI
Fomantic UI 2.9.4 con jQuery 3.7.1. I valori del tema sono impostazioni predefinite compilate; le copertine originali e le integrazioni per la tastiera sono indicate. Tutte le selezioni restano locali.