Vai al contenuto principale

Colori

Quali sono i colori disponibili in Bootstrap Italia e come personalizzarli

Introduzione

Bootstrap Italia dalla v3.x espone i valori dei colori tramite le CSS custom properties. Il nome delle variabili descrive la funzione del colore e non il valore cromatico.

Semantica dei colori

I colori seguono la semantica definita dal Design System Italia e sono suddivisi in:

Esempio del colore Nome Descrizione
 
primary Indica il colore principale del tema, coincide con l'identità del prodotto
 
secondary Colore neutro di supporto al colore primario
 
accent Colore di risalto, alternativo al colore primario per elementi interattivi, sfondo o bordo
 
subtle Colore neutro utilizzato per elementi di sfondo o bordo.
 
muted Colore neutro utilizzato per elementi di sfondo o bordo.
 
success Colore di sistema, identifica lo stato di successo
 
warning Colore di sistema, identifica lo stato di allerta
 
danger Colore di sistema, identifica lo stato di pericolo
 
inverse Indica il colore invertito rispetto ad un colore di sfondo, generalmente bianco

Varianti

Ciascun colore può avere diverse varianti:

Suffisso Descrizione
-light Variante chiara
-lighter Variante molto chiara
-subtle Variante attenuata
-muted Variante molto attenuata
-deep Variante molto scura
-emphasis Variante di enfasi

Attenzione: I nomi subtle e muted sono utilizzati sia per i colori che per le varianti. In questo modo possono essere abbinati sia ad una proprietà come border che ad un colore come primary. Ad esempio:

1
2
3
4
 :root {
   --bsi-color-background-primary-muted: #004d99;
   --bsi-color-border-subtle: #c5c7c9;
 }

Mentre --bsi-color-background-primary-muted definisce una variante molto attenuata del colore primario abbinata alla proprietà background, la variabile --bsi-color-border-subtle definisce la variante di un bordo, senza esplicitare il colore di riferimento, che in questo caso è un grigio chiaro.

Variabili CSS disponibili

Le variabili semantiche descrivono il ruolo del colore all’interno dell’interfaccia. Sono organizzate per categoria: testo, sfondo, bordo, link e stato.

Colore del testo

Le variabili --bsi-color-text-* controllano il colore del testo in diversi contesti:

Esempio del colore Variabile CSS Descrizione
 
--bsi-color-text-accent Testo di accento su sfondi a contrasto
 
--bsi-color-text-inverse Testo su sfondi a contrasto (primary, emphasis)
 
--bsi-color-text-danger-active Testo di pericolo per lo stato active
 
--bsi-color-text-danger-hover Testo di pericolo per lo stato hover
 
--bsi-color-text-danger Testo per errori o pericoli
 
--bsi-color-text-warning-active Testo di allerta per lo stato active
 
--bsi-color-text-warning-hover Testo di allerta per lo stato hover
 
--bsi-color-text-warning Testo per stati di allerta
 
--bsi-color-text-success-active Testo di successo per lo stato active
 
--bsi-color-text-success-hover Testo di successo per lo stato hover
 
--bsi-color-text-success Testo per stati di successo
 
--bsi-color-text-disabled Testo su elementi disabilitati
 
--bsi-color-text-muted Testo di supporto, didascalie brevi
 
--bsi-color-text-secondary Testo alternativo, contenuti di dettaglio
 
--bsi-color-text-primary Testo con funzione di link o azione primaria
 
--bsi-color-text-base Testo principale della pagina

Colore di sfondo

Le variabili --bsi-color-background-* controllano i colori di sfondo di componenti e sezioni di pagina.

Esempio del colore Variabile CSS Descrizione
 
--bsi-color-background-primary Sfondo primario (pulsanti, link, elementi di identità)
 
--bsi-color-background-primary-lighter Sfondo primario molto chiaro (definisce sezioni di pagina)
 
--bsi-color-background-primary-light Sfondo primario chiaro (alternativo per elementi interattivi)
 
--bsi-color-background-primary-deep Sfondo primario scuro (sezioni di pagina)
 
--bsi-color-background-primary-muted Sfondo primario attenuato (sezioni di pagina)
 
--bsi-color-background-primary-active Sfondo primario per lo stato active/premuto
 
--bsi-color-background-primary-hover Sfondo primario per lo stato hover
 
--bsi-color-background-danger-active Sfondo di pericolo per lo stato active
 
--bsi-color-background-danger-hover Sfondo di pericolo per lo stato hover
 
--bsi-color-background-danger-light Sfondo di pericolo chiaro (contenuti medio-lunghi)
 
--bsi-color-background-danger Sfondo per errori o pericoli
 
--bsi-color-background-warning-active Sfondo di allerta per lo stato active
 
--bsi-color-background-warning-hover Sfondo di allerta per lo stato hover
 
--bsi-color-background-warning-light Sfondo di allerta chiaro (contenuti medio-lunghi)
 
--bsi-color-background-warning Sfondo per stati di allerta
 
--bsi-color-background-success-active Sfondo di successo per lo stato active
 
--bsi-color-background-success-hover Sfondo di successo per lo stato hover
 
--bsi-color-background-success-light Sfondo di successo chiaro (contenuti medio-lunghi)
 
--bsi-color-background-success Sfondo per stati di successo
 
--bsi-color-background-emphasis Sfondo di enfasi (sezioni in evidenza)
 
--bsi-color-background-subtle Sfondo chiaro (separatori, sezioni)
 
--bsi-color-background-disabled Sfondo per elementi disabilitati
 
--bsi-color-background-inverse Sfondo invertito (bianco su sfondi scuri)
 
--bsi-color-background-inverse-hover Sfondo invertito per lo stato hover
 
--bsi-color-background-muted Sfondo molto chiaro (sezioni, paragrafi)
 
--bsi-color-background-accent-hover Sfondo di accento per lo stato hover
 
--bsi-color-background-accent Sfondo con colore di accento
 
--bsi-color-background-secondary-lighter Sfondo secondario molto chiaro
 
--bsi-color-background-secondary-light Sfondo secondario chiaro
 
--bsi-color-background-secondary-active Sfondo secondario per lo stato active
 
--bsi-color-background-secondary-hover Sfondo secondario per lo stato hover
 
--bsi-color-background-secondary Sfondo secondario (elementi interattivi alternativi)
 
--bsi-color-background-secondary-deep Sfondo secondario molto scuro

Colore dei bordi

Le variabili --bsi-color-border-* controllano i colori dei bordi di componenti e separatori.

Esempio del colore Variabile CSS Descrizione
 
--bsi-color-border-danger-active Bordo di pericolo per lo stato active
 
--bsi-color-border-danger-hover Bordo di pericolo per lo stato hover
 
--bsi-color-border-danger Bordo di pericolo/errore
 
--bsi-color-border-warning-active Bordo di allerta per lo stato active
 
--bsi-color-border-warning-hover Bordo di allerta per lo stato hover
 
--bsi-color-border-warning Bordo di allerta
 
--bsi-color-border-success-active Bordo di successo per lo stato active
 
--bsi-color-border-success-hover Bordo di successo per lo stato hover
 
--bsi-color-border-success Bordo di successo
 
--bsi-color-border-subtle Bordo separatore (sezioni e componenti)
 
--bsi-color-border-disabled Bordo per elementi disabilitati
 
--bsi-color-border-inverse Bordo su sfondi a contrasto
 
--bsi-color-border-secondary-active Bordo secondario per lo stato active
 
--bsi-color-border-secondary-hover Bordo secondario per lo stato hover
 
--bsi-color-border-secondary Bordo secondario
 
--bsi-color-border-primary-active Bordo primario per lo stato active
 
--bsi-color-border-primary-hover Bordo primario per lo stato hover
 
--bsi-color-border-primary Bordo primario (elementi interattivi cliccabili)

Le variabili --bsi-color-link-* controllano i colori dei link nella pagina.

Esempio del colore Variabile CSS Descrizione
 
--bsi-color-link Colore base dei link
 
--bsi-color-link-hover Link per lo stato hover
 
--bsi-color-link-active Link per lo stato active
 
--bsi-color-link-secondary Link secondari (richiede sottolineatura)
 
--bsi-color-link-secondary-hover Link secondario per lo stato hover
 
--bsi-color-link-secondary-active Link secondario per lo stato active
 
--bsi-color-link-inverse Link su sfondi a contrasto
 
--bsi-color-link-disabled Link disabilitato
 
--bsi-color-link-accent Link con colore di accento
 
--bsi-color-link-accent-hover Link di accento per lo stato hover

Colori di stato

Le variabili --bsi-color-status-* sono alias semantici dei colori di sfondo di stato, utili per colorare elementi indicatori come badge, dot o icone.

Esempio del colore Variabile CSS Descrizione
 
--bsi-color-status-danger Colore indicatore di pericolo/errore
 
--bsi-color-status-danger-hover Indicatore pericolo per lo stato hover
 
--bsi-color-status-danger-active Indicatore pericolo per lo stato active
 
--bsi-color-status-success Colore indicatore di successo
 
--bsi-color-status-success-hover Indicatore successo per lo stato hover
 
--bsi-color-status-success-active Indicatore successo per lo stato active
 
--bsi-color-status-warning Colore indicatore di allerta
 
--bsi-color-status-warning-hover Indicatore allerta per lo stato hover
 
--bsi-color-status-warning-active Indicatore allerta per lo stato active

Come personalizzare i colori

Puoi personalizzare i colori creando un foglio di stile dedicato e caricarlo dopo bootstrap-italia.min.css, seguendo la logica a cascata dei file CSS. In questo modo è possibile sovrascrivere le variabili sull’elemento :root.

1
2
3
<link rel="stylesheet" href="bootstrap-italia.min.css">
<!-- Caricamento del foglio di stile personalizzato -->
<link rel="stylesheet" href="my-custom-colors.css">

In alternativa, puoi creare un file SCSS dedicato e importarlo nel file sorgente della libreria, inserendolo dopo il parziale _root.scss seguendo la nuova logica di importazione:

1
2
3
4
5
6
7
8
9
// my-bootstrap-italia.scss

@use 'bootstrap-italia/src/scss/base/root' as *;

// altri parziali da importare
// ...

// Personalizzazione dei colori
@use 'my-custom-colors.scss' as *;

Cambiare il colore primario

Ad esempio, cambiare il colore primario del tema è molto semplice. Basta sovrascrivere le principali variabili primary per categoria seguendo la stessa logica:

1
2
3
4
5
6
7
8
9
10
11
12
/* my-custom-colors.css */
:root {

  /* Nuovo colore primario */
  --my-custom-primary-color: #005C2B;

  /* Override delle variabili CSS di Bootstrap Italia */
  --bsi-color-text-primary: var(--my-custom-primary-color);
  --bsi-color-background-primary: var(--my-custom-primary-color);
  --bsi-color-border-primary: var(--my-custom-primary-color);
  --bsi-color-icon-primary: var(--my-custom-primary-color);
}

Questo approccio è valido per tutte le variabili disponibili nella libreria.

Migrazione dalla versione 2

La versione 2.x di Bootstrap Italia metteva a disposizione molte classi di utility legate alla palette dei colori che ora sono state rimosse in favore delle variabili CSS.

Se hai utilizzato queste classi in precedenza, puoi sostituirle con le variabili CSS simili o equivalenti verificando che i valori siano compatibili, secondo il contesto di utilizzo.

Classi rimosse

In questa tabella sono riportate le classi per le quali è disponibile una variabile o classe CSS equivalente. Quelle elencate come rimosse invece non hanno un sostituto diretto.

v2.x v3.0.0
.primary-bg --bsi-color-background-primary
.bg-primary
.primary-color --bsi-color-text-primary
.text-primary
.primary-border-color --bsi-color-border-primary
.border-primary
.primary-bg-a*
.primary-bg-b*
.primary-bg-c*
Rimosse, nessun sostituto diretto.
Prova le varianti -light, -lighter, -subtle, -muted, -deep
.analogue-1-bg
.analogue-1-color
.analogue-1-border-color
Rimosse, nessun sostituto diretto
.analogue-2-bg
.analogue-2-color
.analogue-2-border-color
--bsi-color-background-accent
--bsi-color-text-accent
.analogue-*-bg-a*
.analogue-*-bg-b*
Rimosse, nessun sostituto diretto
.complementary-1-bg
.complementary-1-color
.complementary-1-border-color
--bsi-color-background-danger
--bsi-color-text-danger
--bsi-color-border-danger
.complementary-2-bg
.complementary-2-color
.complementary-2-border-color
--bsi-color-background-warning
--bsi-color-text-warning
--bsi-color-border-warning
.complementary-3-bg
.complementary-3-color
.complementary-3-border-color
--bsi-color-background-success
--bsi-color-text-success
--bsi-color-border-success
.complementary-*-bg-a*
.complementary-*-bg-b*
Rimosse, nessun sostituto diretto
.neutral-1-bg
.neutral-1-color
.neutral-1-border-color
--bsi-color-background-emphasis)
--bsi-color-text-secondary
--bsi-color-border-secondary
.neutral-2-bg
neutral-2-color
neutral-2-border-color
--bsi-color-background-muted
--bsi-color-text-muted
--bsi-color-border-subtle
.neutral-*-bg-a*
.neutral-*-bg-b*
Rimosse, nessun sostituto diretto
.lightgrey-bg-* --bsi-color-background-subtle
.lightgrey-color-* --bsi-color-text-muted
.lightgrey-border-color-* --bsi-color-border-subtle