Tailwind CSS Academy · Lezione

Valori di spaziatura personalizzati

Aggiunga al tema valori di spaziatura specifici del progetto, come spacing.18 o spacing.128, per colmare le lacune della scala predefinita.

Lezione 3 di 413 passaggi

Valori di spaziatura personalizzati è una lezione Tailwind CSS Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Tailwind CSS Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Tailwind CSS Academy include 4 lezioni in totale.

La scala di spaziatura predefinita di Tailwind

La scala di spaziatura predefinita di Tailwind comprende valori da 0 a 96 (da 0 a 24rem con incrementi di 0,25rem per i valori più piccoli, quindi con intervalli più ampi). Questa scala viene utilizzata in modo coerente nelle utility per margini, spaziatura interna, larghezza, altezza, distanza e posizionamento. I valori sono pensati per coprire la maggior parte delle esigenze di spaziatura delle interfacce, ma i progetti reali richiedono talvolta valori intermedi o superiori rispetto a quelli predefiniti.

/* Tailwind default spacing examples */
spacing.0   = 0px
spacing.0.5 = 2px
spacing.1   = 4px
spacing.2   = 8px
spacing.4   = 16px
spacing.8   = 32px
spacing.16  = 64px
spacing.32  = 128px
spacing.64  = 256px
spacing.96  = 384px

Perché è necessaria una spaziatura personalizzata

I sistemi di progettazione richiedono spesso valori di spaziatura al di fuori della scala predefinita: un valore 128 (32rem) per sezioni hero a pagina intera, un valore 4.5 (18px) per un elemento specifico posizionato tra il valore standard 4 (16px) e 5 (20px), oppure un valore 13 per la larghezza di una colonna specifica della griglia. Invece di utilizzare ogni volta valori arbitrari con la notazione tra parentesi quadre, aggiunga questi valori una sola volta alla configurazione e assegni loro un nome di classe utility chiaro.

Aggiungere spaziature personalizzate alla configurazione

Aggiunga i valori di spaziatura personalizzati all'interno di theme.extend.spacing. La chiave diventa il suffisso di tutte le utility di spaziatura, mentre il valore è la misura CSS desiderata. Utilizzi chiavi stringa per i numeri decimali o grandi, così da assicurarsi che vengano interpretati correttamente. Una volta aggiunta, la spaziatura personalizzata funziona automaticamente con m-*, p-*, w-*, h-*, gap-*, inset-* e tutte le altre utility di spaziatura.

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      spacing: {
        '4.5':  '1.125rem', // 18px — between default 4 and 5
        '13':   '3.25rem',  // 52px
        '128':  '32rem',    // 512px — for large hero sections
        '144':  '36rem',    // 576px
        '160':  '40rem',    // 640px
      },
    },
  },
};

Utilizzare le utility di spaziatura personalizzate

Dopo aver aggiunto i valori di spaziatura personalizzati, li utilizzi esattamente come le utility di spaziatura integrate. Il nome della chiave va dopo il prefisso dell'utility e il trattino. La spaziatura personalizzata funziona con i prefissi responsive, la modalità scura e le varianti di stato, proprio come quella predefinita. Grazie alla loro natura trasversale alle utility, è sufficiente scrivere una volta la configurazione per ottenere utility per spaziatura interna, margini, larghezza, altezza e distanza dalla stessa definizione.

<!-- Using custom spacing values -->
<div class="p-4.5 m-13">   <!-- 18px padding, 52px margin -->
  Custom spacing in padding and margin
</div>

<section class="min-h-128">    <!-- 512px minimum height -->
  Full hero section
</section>

<div class="grid grid-cols-3 gap-4.5">
  <!-- 18px gap between grid items -->
</div>

Sovrascrivere l'intera scala di spaziatura

Per i progetti con sistemi di progettazione rigidi, che devono utilizzare solo valori di spaziatura specifici, sovrascriva l'intera scala inserendo i valori direttamente in theme.spacing (al di fuori di extend). In questo modo impedisce che uno sviluppatore utilizzi accidentalmente un valore di spaziatura non approvato. Adotti questo approccio con cautela: eliminare i valori predefiniti di Tailwind rimuove molte classi utility comunemente necessarie.

// Strict spacing system: only these values are available
module.exports = {
  theme: {
    spacing: {
      '0':  '0px',
      '1':  '4px',
      '2':  '8px',
      '3':  '12px',
      '4':  '16px',
      '6':  '24px',
      '8':  '32px',
      '12': '48px',
      '16': '64px',
      '24': '96px',
    },
  },
};

Chiavi di spaziatura frazionarie e decimali

Tailwind gestisce chiavi frazionarie come '4.5' generando classi utility con una versione del decimale sicura per il CSS. Il nome della classe utilizza la frazione così come è scritta: p-4.5, m-4.5. Per le chiavi contenenti barre (come le frazioni per la spaziatura basata su percentuali), la barra viene codificata nel selettore CSS. Racchiuda sempre tra virgolette le chiavi decimali e frazionarie nell'oggetto di configurazione, per evitare che JavaScript le interpreti come valori numerici letterali.

// tailwind.config.js
spacing: {
  '0.5':  '2px',   // p-0.5, m-0.5 (already in defaults)
  '1.5':  '6px',   // p-1.5, m-1.5 (already in defaults)
  '4.5':  '1.125rem', // CUSTOM: p-4.5
  '13':   '3.25rem',  // CUSTOM: p-13
  '18':   '4.5rem',   // CUSTOM: p-18
  '22':   '5.5rem',   // CUSTOM: p-22
}

Valori di spaziatura negativi

Tailwind genera automaticamente le varianti negative per tutti i valori di spaziatura, sia predefiniti sia personalizzati. Se aggiunge '128': '32rem' alla configurazione della spaziatura, otterrà anche -m-128, -mt-128, -inset-128 e così via. I valori negativi vengono generati automaticamente: non è necessaria una voce separata nella configurazione. Sono particolarmente utili per sovrapporre elementi, creare citazioni rientrate e definire posizionamenti decorativi.

<!-- Negative spacing pulls elements outside their container -->
<div class="relative">
  <div class="bg-blue-100 p-8">
    Main content
    <!-- This element extends 4px outside the parent top -->
    <span class="absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full px-1.5 py-0.5">
      NEW
    </span>
  </div>
</div>

Spaziatura relativa alla dimensione del carattere

Talvolta è utile avere valori di spaziatura che si adattano alla dimensione del testo invece di utilizzare valori rem fissi. Aggiunga alla configurazione valori di spaziatura espressi in unità em: saranno relativi alla dimensione del carattere dell'elemento stesso. Per esempio, un pulsante con una spaziatura interna px-1.5em avrà una spaziatura orizzontale proporzionale, indipendentemente dal fatto che il testo del pulsante sia piccolo o grande.

// tailwind.config.js
spacing: {
  // em-based spacing (relative to font-size)
  '0.25em': '0.25em',
  '0.5em':  '0.5em',
  '0.75em': '0.75em',
  '1em':    '1em',
  '1.25em': '1.25em',
  '1.5em':  '1.5em',
  '2em':    '2em',
}

Spaziatura per le griglie del sistema di progettazione

Quando il design si basa su una griglia da 8px (o su un'unità di base da 4px), mappi l'intera griglia nella configurazione della spaziatura. Una griglia da 8px significa che ogni spaziatura è un multiplo di 8px: 8, 16, 24, 32, 40, 48, 64, 80, 96, 128. La scala di spaziatura predefinita di Tailwind è già allineata a questo sistema (1 unità = 4px, quindi 2 = 8px, 4 = 16px, 6 = 24px, 8 = 32px). Potrebbe essere necessario estenderla solo con valori superiori a 96.

// 8px grid — Tailwind already aligns, just extend for larger values
spacing: {
  // Already in defaults (4px base unit):
  // 2=8px, 4=16px, 6=24px, 8=32px, 10=40px, 12=48px, 16=64px, 20=80px, 24=96px

  // Extend for larger sections
  '112': '28rem',  // 448px (= 56 units of 8px)
  '128': '32rem',  // 512px
  '160': '40rem',  // 640px
  '192': '48rem',  // 768px
  '224': '56rem',  // 896px
  '256': '64rem',  // 1024px
}

Valori arbitrari come alternativa

Quando Le serve un valore di spaziatura occasionale e non desidera appesantire la configurazione, utilizzi la sintassi dei valori arbitrari di Tailwind con le parentesi quadre: p-[22px], w-[347px], mt-[3.75rem]. In questo modo viene generato il valore CSS esatto senza aggiungerlo alla configurazione. I valori arbitrari sono ideali per modifiche una tantum, ma non dovrebbero diventare un'abitudine: se utilizza lo stesso valore tre o più volte, lo aggiunga invece alla configurazione.

<!-- Arbitrary values for truly one-off sizes -->
<div class="p-[22px] w-[347px] mt-[3.75rem]">
  One-off dimensions from design spec
</div>

<!-- Prefer config-based values for repeated use -->
<!-- BAD: p-[22px] used in 15 components -->
<!-- GOOD: Add '22': '1.375rem' to spacing config, use p-22 everywhere -->

Documentare il sistema di spaziatura

Man mano che la spaziatura personalizzata cresce, la documenti insieme ai token dei colori e della tipografia. Crei un semplice riferimento visivo alle spaziature in Storybook, nella documentazione del sistema di progettazione o persino in una pagina HTML statica che mostri ogni valore di spaziatura come un blocco colorato. In questo modo designer e sviluppatori potranno utilizzare il valore corretto della configurazione invece di ricorrere a valori arbitrari o a soluzioni isolate e incoerenti.

<!-- Simple spacing token preview -->
<div class="space-y-2">
  <div class="flex items-center gap-4">
    <div class="bg-blue-200 h-4" style="width: 1.125rem;"></div>
    <span class="text-sm font-mono">spacing.4.5 = 1.125rem (18px)</span>
  </div>
  <div class="flex items-center gap-4">
    <div class="bg-blue-400 h-4" style="width: 3.25rem;"></div>
    <span class="text-sm font-mono">spacing.13 = 3.25rem (52px)</span>
  </div>
</div>

Verifica rapida

Verifichi la Sua comprensione dei valori di spaziatura personalizzati in Tailwind CSS.

Riepilogo della lezione

In questa lezione ha imparato a: aggiungere spaziatura personalizzata in theme.extend.spacing per estendere la scala predefinita senza sostituirla; usare automaticamente la spaziatura personalizzata in tutte le utility di spaziatura (padding, margine, larghezza, altezza, gap); e usare i valori arbitrari con la notazione tra parentesi quadre come valida alternativa per misure davvero occasionali. Prossimamente esploreremo le proprietà personalizzate CSS come token di design in Tailwind.

Gratis per iniziare

Impara HTML con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Valori di spaziatura personalizzati» è gratuita?

Sì — il testo completo di «Valori di spaziatura personalizzati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Tailwind CSS Academy, passa a CoddyKit PRO. Il corso Tailwind CSS Academy include 4 lezioni in totale.

Cosa imparerò in «Valori di spaziatura personalizzati»?

Aggiunga al tema valori di spaziatura specifici del progetto, come spacing.18 o spacing.128, per colmare le lacune della scala predefinita. Eserciti Tailwind CSS Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Tailwind CSS Academy?

Non è richiesta alcuna esperienza precedente. Tailwind CSS Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Valori di spaziatura personalizzati»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Tailwind CSS Academy?

Sì. Ogni lezione Tailwind CSS Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Aggiunta di colori personalizzati
  2. Famiglie di caratteri personalizzate
  3. Valori di spaziatura personalizzati
  4. Utilizzo delle variabili CSS in Tailwind
← Torna a Tailwind CSS Academy