Lucidi d`introduzione al CSS, linguaggio per i `fogli di stile`
Transcript
Lucidi d`introduzione al CSS, linguaggio per i `fogli di stile`
Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Informatica applicata, 8a lezione Eugenio Omodeo Università degli Studi di Trieste. Trieste, 30.03.2012 Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Struttura logica & Layout fisico Obiettivo generale Esempio illustrativo CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Struttura e layout – I Quello che dobbiamo fare è separare i contenuti dalla loro presentazione. Gigliotti, HTML 4.01, pag.128 Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Struttura e layout – II Medesimo concetto, ma espresso in parole a mio parere un po’ fuorvianti: Il compito fondamentale dell’HTML [· · · ] è fornire una descrizione semantica (ossia conforme al significato) del contenuto e definire un documento strutturato (ossia con una gerarchia di elementi). Non si occupa della presentazione, cioè di come il documento verrà visualizzato in un browser: questo è il compito dei CSS ( Cascading Style Sheets), che non è argomento di questo libro. Niederst Robbins, HTML & XHTML, pag.1 Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Struttura e layout – III Partiamo da un esempio per cercare di tracciare la distinzione fra I struttura logica e I layout fisico di una pagina HTML. Il significato dei contenuti della pagina si colloca ad un altro livello ancora, quello della semantica, che per il momento non intendo affrontare. . . Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – I Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – I In questa pagina figura un commento che, per HTML, è un “corpo estraneo” : Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – II La struttura logica di quanto precede si può cosı́ riassumere: I Dopo un’intestazione, I gli elementi sono organizzati in un elenco I entro il quale ciascuna voce ha una porzione enfatizzata ( il numero di telefono ) Le scelte stilistiche sono interamente demandate al browser Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – III Un browser ci mostrerà questo: Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – IV Per far emergere le scelte stilistiche, abilitiamo il richiamo al CCS che prima—tre lucidi fa—era un commento: Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – V Tramite le scelte stilistiche, vogliamo descrivere il seguente layout fisico: I intestazioni centrate, enormi e grigie; I le liste utilizzano “punti elenco” quadrati I l’enfasi va resa tramite grassetto corsivo Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – VI La specifica di tale layout tramite Cascading Style Sheets, in acronimo CSS, è: Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Obiettivo generale Esempio illustrativo Esempio di pagina HTML – VII Grazie alla specifica CSS, lo stesso browser di prima ci mostrerà la pagina cosı́: Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata CSS in un guscio di noce Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Concetti fondamentali dei CSS I due concetti fondamentali dei CSS sono i selettori e le proprietà: I selettori specificano i tag, nei diversi contesti ove i tag possono comparire. Le proprietà descrivono la rappresentazione fisica dei tag HTML, che talvolta occorre adattare al contesto. I alle proprietà dei selettori, si assegnano valori A detta di Møller e Schwartzbach, Introduzione alle tecnologie WEB pag.15, questi due concetti hanno influenzato anche le successive tecnologie XML Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Proprietà e valori in CSS Esempi di proprietà e relativi valori ammessi: color display line-height font-size font-style text-align red, yellow, rgb(212,120,20) block, inline, list-item, none normal, 1.2em, 120% 12pt, larger, 150%, 1.5em normal, italics, oblique left, right, center, justify CSS offre 51 proprietà, che però volta a volta vanno scelte in base al tag. Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Selettori in CSS – I I I selettori semplici hanno lo stesso nome dei tag. Ad es., la specifica CSS b {color: red; font-size: 12pt} i {color: red; font-size: 12pt} dice che i tag <b> ed <i>, usualmente resi come grassetto e corsivo, vanno resi rispettivamente I I in rosso e corpo 12; in verde. Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Selettori in CSS – II I Un selettore composto descrive uno dei contesti entro cui può comparire un tag. Ad es., la specifica CSS table b {color: red; font-size: 12pt} form b {color: yellow; font-size: 12pt} dice come rendere il tag <b> quando figura racchiuso (anche a piú livelli di annidamento) in una tabella o in un form. Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Selettori in CSS – III I Nella seguente specifica CSS: html body table tr td form b {color: orange} l’intera sequenza che precede la proprietà che si sta definendo è un ( arzigogolato ) esempio di selettore. Come lo interpretate? Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Esempio pratico – IV I Quando si entra nel contesto di un tag <cite>, abitualmente il carattere viene inclinato; I stesso effetto viene prodotto dal tag <em>; I ma allora un’enfatizzazione dentro una citazione non si vede piú ! I Possiamo rimediare indicando nel foglio di stile che cite em {font-style: normal} Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Selettori in CSS – V I Quando un contesto come sopra non basta, i tag HTML possono venir contrassegnati da attributi class, che servono a designare selettori specifici in un foglio di stile. Cosı́ b.gigantesco {font-size: 36pt} si applicherà ai tag della forma <b class=”gigantesco”> Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Selettori in CSS – V I Nel caso del tag a, CSS permette di usare quattro pseudo-classi denominate a:link a:hover a:active a:visited che designano i possibili stati di un collegamento ipertestuale: (1) non ancora utilizzato; (2) sul punto di esserlo (in quanto sfiorato dal puntatore del mouse); (3) cliccato; (4) già esplorato almeno una volta. Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Dov’è che le cose si fanno difficili? In generale può capitare che piú selettori siano applicabili a uno stesso tag HTML, il che solleva la questione di quale insieme di valori delle proprietà applicare caso per caso. CSS risolve questo problema introducendo il complicato meccanismo della specificità, che definisce un ordinamento unico su tutti i selettori. Informalmente, possiamo riassumerlo dicendo che “il selettore piú complicato ha sempre la precedenza”. Møller e Schwartzbach, Introduzione alle tecnologie WEB, pag.16 Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Esempio di applicazione di selettori – I body {color: darkmagenta;} b {color: red;} b b {color: blue;} b.foo {color: green;} b b.foo {color: yellow;} b.bar {color: maroon;} Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Esempio di applicazione di selettori – II Con il foglio di stile appena visto, di che colore risulterà ogni parola di <body bgcolor=”white”> <b class=”foo”>Hey!</b> <b>Wow! <b>Incredibile!</b> <b class=”foo”>Impressionante!</b> <b class=”bar”>Ganzo!</b> <i>Fantastico!</i> </b> eccetera </body> Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Dove si specifica lo stile? – I Le specifiche di stile possono risiedere I all’esterno dell’HTML, in un apposito foglio di stile (un file .css), richiamato tramite tag <link> dall’interno della sezione <head> I direttamente nell’intestazione (=sezione <head>) dello stesso documento HTML I nell’attributo style di un singolo tag ( Analoga “ubiquitarietà” abbiamo riscontrato in JavaScript ) Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione Scaletta Struttura logica & Layout fisico CSS in un guscio di noce Proprietà e valori Selettori Applicazioni in cascata Dove si specifica lo stile? – II Se ci sono specifiche su piú livelli, quale prevale? Eugenio Omodeo Università degli Studi di Trieste. Informatica applicata, 8a lezione