Torna al blog

Pubblicato il 2026-08-06

Da Figma a Tailwind CSS: guida pratica alla conversione

Tailwind CSS è uno dei formati di output più richiesti quando si passa da un design Figma al codice, ed è anche uno dei più laboriosi da produrre a mano. Ogni valore di spaziatura, colore e dimensione del font nel design va tradotto mentalmente nella classe utility Tailwind "giusta" — ed è proprio questo passaggio di traduzione a consumare silenziosamente gran parte del tempo di handoff.

Perché la conversione manuale da Figma a Tailwind è così lenta

Il valore di Tailwind sta tutto in una scala vincolata e coerente: spaziature, colori e tipografia si allineano a un set predefinito di token invece che a valori arbitrari. Ottimo una volta che il codice esiste. Ma per arrivarci partendo da un file Figma, qualcuno deve fare questo lavoro di adattamento a mano:

  • Indovinare lo step di spaziatura. Un designer imposta un padding a 18px. È p-4 (16px) o p-5 (20px), oppure serve un valore arbitrario come p-[18px]? Moltiplicate questa decisione per ogni gap, margin e padding del file.
  • Far corrispondere i colori al tema. Il color picker di Figma non ha alcuna idea della palette nel vostro tailwind.config. Un valore esadecimale va confrontato con i grigi, i blu e i colori del brand nel tema, altrimenti ci si ritrova con classi occasionali come bg-[#f4f4f5] sparse nel codice invece di bg-gray-100.
  • Ricostruire le scale tipografiche. Dimensioni del font, altezze di riga e pesi devono mappare in modo coerente sulle utility text-* e font-*, altrimenti titoli identici in Figma finiscono per usare tre combinazioni di classi diverse nel codice.
  • Rifare tutto per ogni breakpoint. Nessuno dei punti precedenti è un costo una tantum: si ripete per ogni variante responsive, a mano, con i prefissi sm:, md: e lg: sovrapposti.

Nessuno di questi passaggi è difficile di per sé. Ma è esattamente il tipo di lavoro ripetitivo e con poco spazio per il giudizio dove le incoerenze si insinuano — e classi utility incoerenti vanificano il motivo stesso per cui si usa Tailwind.

Come MarkupGen genera l'output Tailwind da un design reale

MarkupGen è pensato per eliminare questo passaggio di traduzione, non solo per velocizzarlo a mano. Il flusso di lavoro è lo stesso sia che si esporti in CSS puro sia in Tailwind:

  1. Esporta il frame da Figma usando il plugin MarkupGen, che cattura struttura, stili e immagini del frame e li invia nel tuo workspace.
  2. L'IA costruisce il markup a partire dalla struttura e dallo stile reali del design, non da un'approssimazione grossolana.
  3. Rifinisci contenuti, font e layout visivamente nell'editor integrato prima che tutto venga finalizzato.
  4. Esporta il pacchetto di codice finale nel formato scelto.

La parte più rilevante per questo articolo è il passo 4: quando Tailwind CSS viene selezionato come formato di output, le classi utility vengono generate a partire dai reali token di spaziatura, colore e tipografia del design — non indovinate da uno screenshot. Un valore di padding nel frame Figma viene mappato sulla utility di spaziatura Tailwind più vicina, un colore di riempimento viene risolto rispetto ai valori di colore reali del design, e dimensioni e pesi del font si traducono nelle classi text-* e font-* corrispondenti. È la stessa traduzione che farebbe a mano uno sviluppatore, solo che avviene direttamente a partire dai dati del design invece che a occhio.

HTML/CSS puro e React sono gli altri due formati di output disponibili — Tailwind è semplicemente uno dei tre, selezionabile per ogni singolo export in base a ciò che richiede la codebase di destinazione.

L'Auto Layout diventa classi utility Flexbox

La maggior parte dei file Figma reali usa l'Auto Layout per qualsiasi cosa somigli a un componente, quindi il modo in cui viene tradotto conta quanto colore e spaziatura. MarkupGen mappa direzione, gap, padding e allineamento dell'Auto Layout sulla struttura CSS Flexbox equivalente, e nell'output Tailwind questo si traduce nelle classi flex corrispondenti — la direzione diventa l'utility flex-row / flex-col appropriata, il gap diventa una utility gap-*, il padding diventa p-* / px-* / py-*, e le impostazioni di allineamento diventano utility items-* / justify-*. Anche i breakpoint responsive e il comportamento fluido vengono generati automaticamente, a partire dai vincoli di ridimensionamento già impostati sul frame, senza bisogno di un passaggio manuale separato. Per approfondire come ogni proprietà dell'Auto Layout si mappa sul suo equivalente Flexbox, vedi Auto Layout to CSS.

Rivedere le classi generate prima di pubblicare

La conversione automatica produce le classi utility corrette per la stragrande maggioranza di un design, ma vale comunque la pena fare un controllo prima del merge:

  • Cerca valori isolati. Se un design usa un valore di spaziatura leggermente fuori dalla scala Tailwind, valuta se conviene avvicinare il design a uno step standard o mantenere il valore esatto.
  • Controlla la coerenza dei colori su tutta la pagina, specialmente dove un componente compare più volte — lo stesso colore visivo dovrebbe risolversi sempre nella stessa classe utility.
  • Verifica la gerarchia dei titoli e i tag semantici, dato che l'output viene generato come HTML pulito e semantico, senza <div> annidati inutili di default.
  • Usa l'editor integrato per modificare visivamente contenuti, font o layout invece di editare a mano le classi esportate, poi ri-esporta quando sei soddisfatto.

Ogni export riceve anche un punteggio di qualità IA automatico, così hai subito un segnale rapido su se un dato export è pronto per essere pubblicato o merita un secondo controllo prima di andare avanti.

Provalo sul tuo design

Se stai ancora traducendo a mano i valori di Figma in classi Tailwind, vale la pena vedere quanto di quel lavoro sparisce quando le classi arrivano dai token reali del design invece che da una stima. Prova MarkupGen gratis su uno dei tuoi frame Figma, oppure leggi la guida generale da Figma a HTML per l'intero flusso in quattro passaggi. Per qualsiasi domanda scrivi a support@markupgen.com.