Tutorial HTML

L'inizio più semplice possibile: copia HTML semantico con gli hook di classe di Lily, aggiungi un foglio di stile, pubblica. File semplici che funzionano ovunque funzioni l'HTML.

Cosa costruirai

Un piccolo modulo di contatto — campi con etichetta, un pulsante di invio, comportamento reale di tastiera e screen reader — prima spoglio, poi stilizzato, in circa 10 minuti.

Prima di iniziare

Servono un browser e un editor di testo. Tutto qui. (git aiuta a prendere i file dei componenti, ma puoi copiarli anche da GitHub nel browser.)

Passo 1 — Ottieni il codice

git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-html-headless

Ogni componente è un file autonomo in components/ — button.html, text-input.html, e così via — con un commento di intestazione che documenta il suo tag HTML, l'hook di classe, il comportamento da tastiera e il contratto di accessibilità. I file sono la libreria — copia ciò che ti serve e vai.

Passo 2 — Il tuo primo componente

Apri components/button.html, oppure scrivi semplicemente il markup — l'hook di classe è il contratto:

<button class="button" type="button">
  Save
</button>

Poiché è un vero <button>, il focus da tastiera, l'attivazione con Invio e Spazio e il ruolo implicito di pulsante sono già corretti.

Passo 3 — Componi un piccolo modulo

<form class="form">
  <div class="field">
    <label class="label" for="name">Full name</label>
    <input class="text-input" type="text" id="name" name="name" required />
  </div>
  <div class="field">
    <label class="label" for="email">Email</label>
    <input class="email-input" type="email" id="email" name="email" required />
  </div>
  <button class="button" type="submit">Save</button>
</form>

Nota lo schema: ogni controllo collega la propria <label for>, usa il tipo di input più specifico e porta esattamente un hook di classe in kebab-case.

Controlla il lavoro: apri la pagina in un browser. Appare spoglia — esattamente come previsto: lo stile deve ancora venire. Premi Tab: il focus si sposta su ogni controllo, le etichette vengono annunciate e l'invio funziona. Il comportamento è fatto; l'aspetto è tuo, ed è il prossimo passo.

Passo 4 — Dagli uno stile

Scrivi CSS sugli hook:

.button {
  background: #2563eb;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: 0.5rem;
}
.text-input,
.email-input {
  padding: 0.5rem 0.75rem;
  border: 2px solid #6b7280;
  border-radius: 0.25rem;
}
.label { display: block; font-weight: 600; margin-bottom: 0.25rem; }

Oppure salta del tutto la scrittura a mano del CSS — collega uno dei 45 temi pronti e lo stesso markup si accende:

<link rel="stylesheet" href="/themes/united-kingdom-national-health-service-england-for-patients.css" />

Passo 5 — Esplora oltre

  • I test del repository girano su browser reali: pnpm install && pnpm test (WebDriverIO).
  • Storybook per ogni componente: pnpm run storybook.
  • App di esempio HTML+CSS+JS mostra tutti i 571 componenti stilizzati, ricercabili e dimostrati.

Prossimi passi

Domande lungo la strada? La pagina di aiuto è piena di risposte — e se un passo può essere più chiaro, faccelo sapere e miglioreremo volentieri il tutorial.