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) |
Colore dei link
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 |