Dalla versione 4 di Bootstrap, SCSS è il pre-processore CSS di default. Con la versione 5 sono state aggiunte delle API che si basano sull'elemento maps di questo linguaggio (documentazione disponibile all'indirizzo https://sass-lang.com/documentation/values/maps).
All'interno del nostro file SCSS dobbiamo importare una serie di file che permettano alle API di funzionare correttamente.
@import "bootstrap/scss/functions"; @import "bootstrap/scss/variables"; @import "bootstrap/scss/utilities";
L'esempio più semplice è la creazione di una serie di classi che vanno ad insistere sul valore di una proprietà.
$utilities: (
  "opacity": (
    property: opacity,
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
 );
A seguito della compilazione in CSS, avremo il seguente codice.
.opacity-0 { opacity: 0; }
.opacity-25 { opacity: .25; }
.opacity-50 { opacity: .5; }
.opacity-75 { opacity: .75; }
.opacity-100 { opacity: 1; }
A questo possiamo aggiungere numerose varianti: dal prefisso allo stato, fino alle media-query.
$utilities: (
  "opacity": (
    property: opacity,
    class: o, // specifica il prefisso della classe
    state: hover, // aggiunge lo stato :hover ad ogni classe
    responsive: true, // inserisce varianti in media query
    print: true, // aggiunge media-print
    values: (
      0: 0,
      25: .25,
      50: .5,
      75: .75,
      100: 1,
    )
  )
 );
Per ulteriori implementazioni ed esempi è disponibile un'ottima guida anche all'interno della documentazione ufficiale https://getbootstrap.com/docs/5.0/utilities/api/.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Creare una libreria CSS universale: i bottoni
Evitare memory leaks nelle closure JavaScript
Gestione file Javascript in Blazor con .NET 9
Gestire progetti NPM in .NET Aspire
Testare il failover sulle region in Azure Storage
Introduzione alle Container Queries
Ridurre il reflow cambiando il CSS
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Creare un agente A2Acon Azure Logic Apps
Change tracking e composition in Entity Framework
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento


