Come ultimo script di questa serie, facciamo un passo indietro: dopo aver visto come installare e utilizzare Tailwind CSS, sia in un progetto HTML che React, vediamo come estenderlo attraverso la creazione di plug-in.
Questa funzionalità è ottima se stiamo lavorando all'interno di più progetti con un template simile: ci permette di creare un ecosistema solido e condividere un set di classi di utilità.
Partiamo con la creazione di un nuovo file per il nostro plugin
// tailwind-plugin.js module.exports = function ({ addUtilities }) { const newUtilities = { '.bg-orange': { 'background-color': '#FFA500', }, '.rotate-180': { transform: 'rotate(180deg)', }, }; addUtilities(newUtilities, ['responsive', 'hover']); };
In questo esempio, stiamo definendo due classi:
- bg-orange per impostare lo sfondo arancione
- rotate-180 per ruotare un elemento di 180 gradi
Gli argomenti responsive e hover serviranno per generare le varianti riguardo alla dimensione della finestra e rispetto alla posizione del mouse sull'elemento: 'md:bg-orange', 'hover:bg-orange' etc.
Per utilizzare il plugin appena creato dobbiamo ricordarci di aggiungerlo alla nostra configurazione, in modo tale che la compilazione e la creazione delle classi avvenga automaticamente grazie agli script pre-esistenti.
// tailwind.config.js module.exports = { // ... altre configurazioni Tailwind ... plugins: [ require('./tailwind-plugin'), // altri plugin eventuali ], };
Utiliziamo dunque le classi nell'HTML.
<div class="bg-orange">Elemento con sfondo arancione</div> <div class="rotate-180">Elemento ruotato di 180 gradi</div>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Creare un'applicazione React e configurare Tailwind CSS
Ordinare randomicamente una lista in C#
Creazione di componenti personalizzati in React.js con Tailwind CSS
Utilizzare politiche di resiliency con Azure Container App
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Evitare il flickering dei componenti nel prerender di Blazor 8
Usare un KeyedService di default in ASP.NET Core 8
Evitare la script injection nelle GitHub Actions
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON