# 2 - Livelli dei fogli di stile

I tre livelli dei fogli di stile sono, dal piu' basso al piu' alto,

- inline (livello basso), si applicano al contenuto di un tag singolo,
- a livello di documento (livello medio), si applicano all'intero corpo di un documento
- esterno (livello alto), si applicano ai corpi di un numero di documenti a piacere.

I fogli di stile inline hanno la precedenza sui fogli di stile di livello del documento, che a loro volta hanno la precedenza sui fogli di stile esterni. Ad esempio, se un foglio di stile esterno specifica un valore particolare per una certa proprieta' in un certo tag, questo valore viene utilizzato finche' non venga specificato un valore differente in un foglio di stile inline o documento. Allo stesso modo, i valori di proprieta' di un foglio di stile a livello del documento possono venire modificati da valori di proprieta' differenti in un foglio di stile inline. In definitiva, le proprieta' di un tag specifico sono il risultato della fusione di tutti i fogli di stile applicabili, in cui quello di livello piu' basso ha la precedenza sugli altri in caso di conflitto.

Come per i tag e i loro attributi, alcuni browser potrebbero non essere in grado di utilizzare i valori di proprieta' specificati in un foglio di stile. In questi casi il browser puo' sostituire i valori di proprieta' con valori alternativi o semplicemente ignorarli.

### Fogli di stile inline

Le specifiche di stile inline appaiono all'interno del tag e si applicano solo al suo contenuto. Questa applicazione di stile a un livello cosi' profondo vanifica uno dei principali vantaggi dei fogli di stile, ovvero la possibilita' di imporre uno stile uniforme ai tag di almeno un documento completo. Per questo motivo le specifiche inline dovrebbero essere utilizzate con parsimonia.

### Fogli di stile a livello di documento

Le specifiche di stile a livello del documento appaiono nell'intestazione e vengono applicate all'intero corpo del documento. In questo modo e' possibile imporre uno stile uniforme alla presentazione di tutto il contenuto di un documento.

### Fogli di stile esterni

Spesso e' preferibile che un solo foglio di stile venga applicato a piu' di un documento, ed e' in questi casi che si ricorre ai fogli di stile esterni, che non fanno parte dei documenti a cui vengono applicati.

I fogli di stile esterni vengono memorizzati separatamente, sono specificati in tutti i documenti che li utilizzano e sono scritti come file di testo con il tipo MIME `text/css`. E' possibile memorizzarli in qualsiasi computer connesso ad Internet. Il browser e' in grado di ricercare i fogli di stile eterni nello stesso modo in cui ricerca i documenti.

Per specificare i fogli di stile esterni si utilizza il tag `<link>`. All'interno di `<link>`, l'attributo `rel` serve a specificare la relazione tra il documento collegato e il documento in cui appare il collegamento. L'attributo `href` viene utilizzato per specificare l'URL del documento contenente il foglio di stile, come in questo esempio:

`<link rel="stylesheet" type="text/css" href="http://www.cs.usc.edu/styles/wbook.css"> </link>`

Il collegamento ad un foglio di stile esterno deve apparire nell'intestazione del documento.