CSS o Fogli di stile
Transcript
CSS o Fogli di stile
I CSS o Fogli di stile Telematica per le arti e lo spettacolo a.a. 2006/07 • Quando è nato il web il problema principale era semplicemente quello della gestione dei contenuti, dato anche il basso numero di utenti. • Col passare del tempo il web si è diffuso a macchia d'olio, gli utenti sono diventati moltissimi, e i designer hanno cominciato a curare l'aspetto comunicativo delle pagine e a preoccuparsi anche della loro presentazione grafica. • È in questo momento che si scoprono tutti i problemi legati allo HTML e soprattutto alla sua gestione, i web designers si sono visti costretti ad aggirare i limiti stilistici che pone lo HTML scontrandosi però con nuovi problemi. • Vediamo quali sono i limiti pratici principali: – – – – – – conversione del testo in immagini uso di immagini per il controllo dello spazio bianco uso di tabelle per l'impaginazione scrittura di programmi in sostituzione dello HTML difficile gestione degli aggiornamenti modifiche da effettuare sui singoli file • Abbiamo già avuto modo di vedere che le conoscenze che hai acquisito fino ad ora rendono molto complesse le pagine web, che sono poco flessibili e soprattutto creano barriere agli utenti disabili (pensiamo ai frame). • I Cascade Style Sheets, che in italiano significa Fogli di stile a cascata, risolvono gran parte dei problemi di gestione e organizzazione delle pagine web. • Il vantaggio fondamentale che offrono i fogli di stile rispetto allo HTML è il controllo dello stile delle pagine web attraverso la separazione tra contenuti, struttura e stile. • I fogli di stile ti permettono di specificare in modo semplice – – – – – la spaziatura delle righe, i rientri, i colori usati per il testo e gli sfondi, il corpo e lo stile dei caratteri e una moltitudine di altri dettagli. • Vediamo la gestione di una riga di testo attraverso lo HTML: <font face=VERDANA size=2 COLOR=BLACK>questo è un testo</font> – Attraverso questa riga di codice noi diciamo al browser di far visualizzare la scritta "questo è un testo" con un font Verdana di dimensioni 2 e di colore nero. • • Il testo e lo stile (font, dimensione e colore) con cui deve essere visualizzato sono uniti in un'unica riga di codice. Cosa succederebbe se dovessi cambiare il font di tutte le pagine del tuo sito, magari composto da più di 100 pagine? – Dovresti aprire tutti i file e modificali uno ad uno!!! • I fogli di stile, ti risolvono il problema perché separano lo stile dal contenuto • Purtroppo uno dei limiti dei fogli di stile è che non sono compatibili con tutti browser nonostante siano stati approvati da il W3C. I browser che offrono la maggiore compatibilità sono Explorer (dalla versione 5.5) e Mozilla (ossia Netscape 7). Netscape 4 ha seri problemi di gestione dei CSS. Come utilizzare i CSS • Ma cosa si intende per stile? – Uno stile è un gruppo di attributi di formattazione che definiscono l'aspetto di una parte di testo all'interno di un singolo documento. • Puoi utilizzare un foglio di stile CSS per controllare molti documenti contemporaneamente e comprendere in un unico foglio tutti gli stili di un documento. • Attraverso l'uso combinato di un foglio di stile CSS e uno stile HTML hai il vantaggio di collegare più documenti. • Di conseguenza quando vuoi aggiornare delle caratteristiche di formattazione delle pagine web devi solo modificare il foglio di stile e automaticamente modificherai la formattazione di tutti documenti che utilizzano quello stile CSS. • La formattazione HTML manuale ha la precedenza rispetto alla formattazione applicata da uno stile CSS. Per fare in modo che gli stili CSS controllino la formattazione di un paragrafo, è necessario eliminare tutta la formattazione HTML manuale o gli stili HTML. • I documenti HTML possono contenere regole di stile direttamente al loro interno o possono importare i fogli di stile (esterno). • Separare i fogli di stile dai documenti HTML offre svariati benefici: – puoi condividere i fogli di stile per un gran numero di documenti (e siti). – puoi cambiare il foglio di stile senza che ciò richieda modifiche al documento. • Possiamo dividere i fogli di stile in 3 categorie: – fogli di stile in linea: con questo metodo puoi utilizzare uno stile da applicare ad un singolo tag HTML. – fogli di stile interni: con questo metodo definisci lo stile non per il singolo TAG, ma per tutta la pagina. – fogli di stile esterni: con questo metodo lo stile che vai a definire può essere utilizzato da più pagine web, infatti la definizione viene data all'interno di un file esterno (con estensione .css ) che viene linkato alla pagina con un apposito costrutto. • La sintassi che devi usare nei fogli di stile è la seguente : – inserisci gli attributi dentro le parentesi graffe { } – separa gli argomenti consecutivi dal segno punto e virgola (;) invece che dalla virgola – usa i due punti (:) al posto del segno uguale (=) – separa con un trattino (-) gli attributi composti da piu' termini • Quando un attributo è considerato proprieta' di un oggetto eliminalo e trasforma da minuscole in maiuscole le iniziali dei termini (per esempio: font-style diventa fontStyle) • Per inserire i fogli di stile su una pagina html bisogna inserire tra i TAG <head> il TAG <style> in questo modo : <head> <style type="text/css"> ... </stile> </head> Come definire uno “stile” Si possono utilizzare gli attributi delle tag: <p align=”center”><font color=“#3399CC”>testo</p> Un semplice stile può essere definito anche all’interno di una tag con il parametro STYLE <p style=”text-align: center;color:#3399CC”>testo</p> STILE IN LINEA CSS in HTML Il foglio di stile viene definito con la tag <STYLE>, che deve trovare posto nell’intestazione (head) del documento, nella seguente maniera: <head> … >>> <style type=”text/css”> <!-… STILE INTERNO (definizione dei vari stili) … --> >>> </style> … </head> Subito dopo la tag <style> viene inserita la parte iniziale della tag di commento (<!--) , allo scopo di nascondere la definizione degli stili ai vecchi browser che non li supportano. Per lo stesso motivo il commento viene chiuso prima della tag </style>. Esempio Definiamo l’allineamento del testo al centro tramite la tag <style>: <style type=”text/css”> .centrato {test-align: center; color: #3399CC} </style> Abbiamo definito uno stile chiamato centrato. Il punto che precede la parola “centrato” è obbligatorio per gli stili definiti dall’utente. All’interno delle parentesi graffe sono definite le caratteristiche dello stile separate da punto e virgola. Ogni stile così definito viene chiamato regola. Per applicare al testo lo stile così definito possiamo usare il parametro class all’interno di una tag da applicare al testo. Per esempio: <p class=”centrato”>testo</p> Esempio • Possiamo anche modificare le proprietà predefinite delle tag HTML <style type=”text/css”> p {text-align:center; color:#3399CC;} </style> Ogni volta che sarà utilizzata la tag <p> avrà queste caratteristiche. In questo caso il nome dello stile è la tag HTML. Classificazione dei CSS I fogli di stile possono essere divisi in: • Stili in linea: non sono vantaggiosi, sono applicati elemento per elemento come gli attributi HTML. (attributo style) • Stili Interni: definisce gli stili di tutta la pagina, sono inseriti direttamente nel documento HTML tramite l'elemento <STYLE>. La dichiarazione va posta all'interno della sezione <HEAD>: • Stili Esterni: definisce gli stili di più pagine, è unfoglio di stile definito in un file separato dal documento con estensione .css e viene utilizzato nell’head tramite il tag LINK STILI ESTERNI <link href="stile.css" type="text/css" rel="stylesheet" /> L'elemento <LINK> presenta una serie di attributi OBBLIGATORI di cui è importante spiegare significato e funzione: • 1. href: serve a definire l'URL assoluto o relativo del foglio di stile. • 2. type: identifica il tipo di dati da collegare. Per i CSS l'unico valore possibile è text/css. • 3. rel: descrive il tipo di relazione tra il documento e il file collegato. Per i CSS due sono i valori possibili: stylesheet e alternate stylesheet. Proprietà Le proprietà che possono essere definite nei fogli di stile sono molteplici e di vario tipo. – Allineamento del testo; – Controllo dei colori e immagini di sfondo; – Font; – Bordi e margini. Allineamento del testo Allineamento del testo Proprietà Parametri significato letter-spacing Un numero in diverse unità di misura. Spaziatura fra le lettere text-decoration Underline, overline, blink, line-through, none. Permette di creare testo sottolineato o barrato o con linee sopra di esso o intermittente. vertical-align Sub, super, baseline, text-top, middle, bottom, text-bottom. Allineamento verticale di elementi sulla stessa riga. Left, right, center, justify. Allineamento orizzontale. Capitalize, uppercase, lowercase. Trasforma le lettere in maiuscolo, minuscolo o rende maiuscola solo la prima lettera della parola. text-indent Un numero in diverse unità di misura. Rientro di un paragrafo. line-height Un numero in diverse unità di misura. Altezza di un elemento, come una riga di testo (spazio fra due righe). text-align text-transform Il parametro text-decoration è utile nel caso si voglia eliminare la riga di sottolineatura che compare in una parola linkata, come nel seguente esempio: <a href=”pagina.htm” style=”text-decoration: none”>testo linkato</a> Colori, immagini e sfondo Colori e immagini di sfondo Proprietà Parametri significato Color Codice o nome di un colore. Colore del testo. Background-color Codice o nome di un colore Colore da usare come sfondo. Background-image URL Immagine da usare come sfondo Background-attachment Fixed, scroll Posizione fissa oppure scorrevole, rispetto alla finestra del browser, dell’immagine di sfondo. Backgound-position Numeri in diverse unità di misura. Posizione dell’immagine di sfondo Background-repeat Repeat, no-repeat, repeat-x, repeat-y Ripetizione dell’immagine di sfondo -Quando viene definita un’immagine di sfondo, se è più piccola dell’elemento a cui è applicata, viene ripetuta fino a riempire completamente l’elemento. I CSS consentono di definire se, e in quale maniera, l’immagine debba essere ripetuta. -Se spostiamo le scroll bars, normalmente l’immagine di sfondo si sposta all’interno della finestra del browser. Con i CSS l’immagine può rimanere fissa se si usa la proprietà backgroundattachment. background • Nel caso che si debbano definire diverse proprietà il cui nome inizia con “background”, si può usare anche la proprietà background, che permette di impostare in modo rapido tutti gli attributi. Ad esempio, la seguente definizione di stile: .stile {background-attachment: fixed; background-color: #9999FF; background-repeat: no-repeat} può essere fatta in forma abbreviata anche in altro modo: .stile {background: attachment: fixed #9999FF no-repeat} Font Gestione dei font Proprietà Parametri significato font-family Nome di uno o più font (separati dalla virgola) Il font da utilizzare font-style Normal, italic, oblique Stile del font. font-variant Normal o small-caps Normale o lettere maiuscoletto. font-weight Normal, bold, bolder, lighter oppure un numero da 100 a 900 Specifica lo spessore dei caratteri font-size Numero in diverse unità di misura Dimensione dei font minuscole in Con le tags dell’HTML la grandezza del font non può essere definita in modo preciso. La grandezza di default (3) è solo la grandezza che viene definita nelle impostazioni del browser e può essere modificata da menù. Se la grandezza del font definita nel CSS è espressa in pixel, questo numero corrisponde al corpo del font e non può essere modificato tramite le impostazioni. Font Per impostare in maniera rapida diverse proprietà del font, può essere utilizzata la proprietà font, come nel seguente esempio: .provafont {font: italic 12px Arial, Helvetica, sans-serif} equivalente a: .provafont {font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-style: italic} Bordi e margini Bordi e margini Proprietà parametri significato margin-top margin-bottom margin-left margin-right Numero in diverse unità di misura. Margini dell’elemento. Spesso vengono applicati ad una cella della tabella o all’intero documento. Margin Numero in diverse unità di misura. Valore unico per tutti e quattro i margini di cui sopra. Width Numero in diverse unità di misura. Larghezza dell’elemento Height Numero in diverse unità di misura. Altezza dell’elemento Float No, left, right Il blocco si dispone attorno ad un elemento. Clear No, left, right Il blocco è libero di spostarsi. Bordi e margini