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
Introduzione alle Container Queries
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Gestire progetti NPM in .NET Aspire
Eliminare record doppi in Sql Server
Ottimizzare le performance usando Span<T> e il metodo Split
Controllare la telemetria con .NET Aspire
Proteggere le risorse Azure con private link e private endpoints
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Triggerare una pipeline su un altro repository di Azure DevOps
Utilizzare Intersect e Except per filtrare set di dati in TSql
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Tutorial LINQ
- Gestione ciclo di vita in .NET Aspire