Con la scorsa lezione abbiamo esaurito la rassegna delle proprietร CSS tipiche del box-model. A partire da questa lezione passeremo in rassegna le altre proprietร dei fogli di stile partendo da quelle relative allo sfondo (o background), le quali possono essere applicate tanto alla pagina (tag <body>) quanto ad un suo elemento (ad esempio un box).
Attraverso tali proprietร possiamo applicare ad un elemento uno sfondo colorato oppure unโimmagine da utilizzarsi singolarmente o ripetuta come se fosse una "piastrella" (cd. pattern). Ma andiamo per gradi e vediamo, prima di tutto, quali sono queste proprietร :
- background โ consente di impostare tutte le caratteristiche dello sfondo con una notazione "compressa" (vedremo in seguito cosa vuol dire);
- background-color โ imposta il colore sfondo;
- background-image โ imposta unโimmagine di sfondo;
- background-repeat โ gestisce la ripetizione dellโimmagine di sfondo sulla pagina;
- background-position โ imposta la posizione dellโimmagine di sfondo;
- background-attachment โ serve per definire se lโimmagine di sfondo deve restare fissa oppure "scrollare" col resto della pagina.
Eโ bene precisare che, come le proprietร del box-model, anche le proprietร relative allo sfondo non vengono ereditate ma riguardano, quindi, solo lโelemento cui sono applicate.
Lasciamo per ultima background e soffermiamo inizialmente la nostra attenzione sulle proprietร specifiche, analizzandole una ad una.
background-color
Attraverso questa proprietร si assegna ad un dato elemento un colore di sfondo il quale puรฒ essere indicato attraverso la classica notazione esadecimale, come valore RGB o attraverso parole chiave come, ad esempio, red o black. Un altro valore che puรฒ essere assegnato a questa proprietร รจ transparent: cosรฌ facendo il box sarร , appunto, trasparente e quindi, di fatto, lascerร vedere lo sfondo del suo elemento genitore.
Vediamo qualche esempio:
body
{
background-color: #000000;
}
h1 {
background-color: rgb(255,255,255);
}
p {
background-color: yellow;
}
background-image
Questa proprietร รจ utilizzata per specificare la URL (relativa o assoluta) di unโimmagine da utilizzare come sfondo. Il valore di default di questa proprietร รจ none (cioรจ "nessuna immagine di sfondo").
Vediamo qualche esempio:
body
{
background-image: url('immagini/fiore.jpg');
}
body
{
background-image: url('http://www.miosito.com/immagini/fiore.jpg');
}
Lโuso degli apici tra le parentesi tonde puรฒ essere omesso salvo che la nostra URL non contenga uno spazio, nel qual caso sono necessarie.
Questa proprietร "condiziona" tutte le altre proprietร specifiche che vedremo di seguito.
Normalmente รจ consigliabile prevedere anche un colore di sfondo insieme allโimmagine in quanto il colore andrร a riempire gli spazi eventualmente non coperti dallโimmagine:
body
{
background-color: #FFFF00;
background-image: url('immagini/fiore.jpg');
}
background-repeat
Questa proprietร รจ strettamente connessa alla precedente in quanto serve per definire se ed in che modo lโimmagine specificata in background-image debba essere ripetuta. I valori ammessi per questa proprietร sono:
- repeat โ (valore di default) lโimmagine dui sfondo viene ripetuta sia in orizzontale che verticale;
- repeat-x โ lโimmagine viene ripetuta solo in senso orizzontale;
- repeat-y โ lโimmagine viene ripetuta solo in senso verticale;
- no-repeat โ lโimmagine non viene ripetuta (รจ consigliabile utilizzare questa opzione insieme ad immagini grandi a sufficienza per coprire lโarea stilizzata).
Vediamo un esempio:
body
{
background-color: #FFFF00;
background-image: url('immagini/fiore.jpg');
background-repeat: no-repeat;
}
background-attachment
Attraverso questa proprietร viene definito il comportamento dellโimmagine in relazione allo scrolling di pagina: piรน precisamente รจ possibile specificare se lo sfondo debba "scrollare" insieme ai contenuti o se debba restare fisso. I due valori possibili per questa proprietร , infatti, sono "scroll" e "fixed".
Vediamo un esempio di immagine non ripetuta che non segue lo scroll:
body
{
background-color: #FFFF00;
background-image: url('immagini/fiore.jpg');
background-repeat: no-repeat;
background-attachment: fixed;
}
background-position
Attraverso questa proprietร รจ possibile definire la posizione della nostra immagine di background. Piรน precisamente:
- definisce la posizione esatta dellโimmagine di sfondo non ripetuta;
- definisce la posizione di partenza di unโimmagine che viene ripetuta.
Nella pratica questa proprietร viene utilizzata quasi esclusivamente nel caso di immagini non ripetute.
Il suo valore puรฒ essere: una percentuale, un numero accompagnato da una unita di misura oppure una stringa (in questโultimo caso, il piรน frequente, si utilizzano le parole chiave "top", "left", "bottom" e "right").
Vediamo un esempio di immagine non ripetuta, che non segue lo scroll ed รจ centrata nello schermo:
body
{
background-color: #FFFF00;
background-image: url('immagini/fiore.jpg');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center center;
}
Come potete vedere abbiamo utilizzato due volte la parola "center" per la nostra proprietร background-position in quanto il primo valore riguarda lโasse verticale ed il secondo quello orizzontale. Qualora venisse specificato un solo valore questo verrebbe applicato sia verticalmente che orizzontalmente.
La proprietร background
Come abbiamo giร visto per altre famiglie di proprietร CSS, anche quelle relative alla gestione dello sfondo possono essere sintetizzate allโinterno di un unica proprietร : la proprietร background.
Questa proprietร puรฒ essere utilizzata per definire, in un colpo solo, tutte le caratteristiche del nostro sfondo. Lโultimo codice visto sopra, ad esempio, puรฒ essere convertito in:
body
{
background: #FFFF00 url('immagini/fiore.jpg') no-repeat fixed center center;
}
Come potete vedere i valori delle varie proprietร viste sinโora sono passati, separati da uno spazio, alla singola proprietร background. Lโordine dei valori non รจ viuncolante ma per una questione di pulizia รจ consigliabile rispettare questa gerarchia:
- color
- image
- repeat
- attachment
- position
Ovviamente non รจ obbligatorio prevedere tutti e quattro i valori in quanto sarebbe perfettamente valida e funzionante anche una regola del genere:
body
{
background: #FFFF00;
}
o una del genere:
body
{
background: url('immagini/fiore.jpg');
}