Tecnologie di Internet
Formattazione di contenuti
Formattazione di contenuti:
introduzione a CSS
 Introduzione ai fogli di stile
 Introduzione a CSS
Dott. Nicola Dragoni
Tecnologie di Internet
Formattazione di contenuti
Introduzione ai fogli di stile (1)
Quando dobbiamo presentare le informazioni contenute nei documenti
XML, non possiamo accontentarci di un file puramente testuale e neppure
delle funzionalità di browser come Internet Explorer, che applica un
minimo di formattazione ai contenuti XML.
Dott. Nicola Dragoni
2
Tecnologie di Internet
Formattazione di contenuti
Introduzione ai fogli di stile (2)
 E’ necessario presentare le informazioni come se fossero dotate di un
loro aspetto grafico senza però perdere la caratteristica più importante di
XML: la separazione dei dati dalla loro presentazione.
 Uno strumento per raggiungere questo risultato è rappresentato dai
fogli di stile CSS (Cascading Style Sheet) che definiscono regole di
formattazione per i tag utilizzati.
 Inizialmente i fogli di stile CSS sono nati per essere usati con HTML!
Un foglio di stile è un documento separato che contiene regole di
formattazione e visualizzazione per un documento HTML o XML.
Dott. Nicola Dragoni
3
Tecnologie di Internet
Formattazione di contenuti
Introduzione ai fogli di stile (3)
 Sono “cascading” perchè possono essere definiti “in cascata”, l’uno
dentro l’altro o, meglio, l’uno che completa gli altri in livelli di
raffinamento successivo:
• prima si definiscono alcune caratteristiche di stile generali
• poi si integrano queste caratteristiche in cascata con altri CSS che
le specificano più in particolare.
In sostanza:
Dentro un file CSS (che ha estensione .css) ci sono le indicazioni per
come visualizzare i vari TAG.
Dott. Nicola Dragoni
4
Tecnologie di Internet
Formattazione di contenuti
HTML e CSS (1)
Consideriamo il seguente documento HTML (Esempio.html):
<HTML>
<HEAD>
<TITLE>Pagina HTML formattata con i CSS</TITLE>
</HEAD>
<BODY>
<P>Testo di un paragrafo.</P>
<DIV>Testo di un blocco DIV.</DIV>
Mentre questo è un testo normale nel documento HTML.
</BODY>
</HTML>
Per mezzo di un foglio di stile CSS possiamo fare in modo che il
tag P e il tag DIV imprimano una particolare formattazione
grafica, diversa da quella associata al tag BODY.
Dott. Nicola Dragoni
5
Tecnologie di Internet
Formattazione di contenuti
HTML e CSS (2)
Esempio di CSS (Stile.css) per il documento HTML precedente:
P {font-Family: Arial; font-Size: 12pt; color: red;}
DIV {font-Family: Verdana; font-Size: 8pt; color: blue;}
BODY {font-Family: Arial; font-Size: 10pt; color: black;}
Con una sintassi facilmente intuibile, il foglio di stile assegna a:
 Tutti i tag di nome P un font Arial, 12 punti, rosso.
 Tutti i tag di nome DIV un font Verdana, 8 punti, blu.
 Al contenuto del tag BODY un font Arial, 10 punti, nero.
Dott. Nicola Dragoni
6
Tecnologie di Internet
Formattazione di contenuti
HTML e CSS (3)
La sintassi per assegnare uno stile segue la regola:
nome_selettore { attributo: valore; attributo: valore; . . . }
dove nome_selettore è il nome del tag sul quale si vuole intervenire,
attributo è l’attributo da cambiare e valore è il valore assegnato
all’attributo.
• Se un valore è costituito da più di una parola, deve essere racchiuso
fra doppi apici. Esempio:
P {font-Family: “sans serif”}
• I selettori possono essere raggruppati fra di loro, separandoli con una
virgola. Esempio:
h1,h2,h3,h4,h5,h6 {color: green}
per avere dello stesso colore i tag di struttura da h1 a h6.
Dott. Nicola Dragoni
7
Tecnologie di Internet
Formattazione di contenuti
HTML e CSS (4)
Per applicare il foglio di stile Stile.css al documento HTML
Esempio.html basta fare riferimento al file CSS all’interno dell’header
del documento HTML mediante l’istruzione:
<LINK REL=“Stylesheet” TYPE=“text/css” HREF=“Stile.css” />
Il nuovo file HTML (EsempioCSS.html) verrà visualizzato in questo
modo:
Dott. Nicola Dragoni
8
Tecnologie di Internet
Formattazione di contenuti
XML e CSS (1)
Le regole appena viste sono applicabili non solo a documenti
HTML, ma anche a un qualsiasi documento XML a patto che:
 i nomi dei tag HTML vengano sostituiti con i nomi dei tag XML
 la sintassi per associare un CSS a un documento XML sia diversa.
Esempio: consideriamo il documento Documento.xml
<?xml version = "1.0"?>
<Documento>
<Titolo>Titolo del documento</Titolo>
<Paragrafo>Testo all'interno del documento</Paragrafo>
</Documento>
Scriviamo un documento CSS che definisca un formato per i tag
Documento, Titolo e Paragrafo (vedi file Stile2.css).
Dott. Nicola Dragoni
9
Tecnologie di Internet
Formattazione di contenuti
XML e CSS (2)
Stile2.css
Titolo {font-Family: Arial; font-Size: 12pt; color: red; display: block;}
Paragrafo {font-Family: Verdana; font-Size: 8pt; color: blue; display: block;}
Documento {font-Family: Arial; font-Size: 10pt; color: black; display: inline;}
L’attributo display indica come deve essere gestito il testo contenuto nel tag
rispetto al contenuto testuale circostante. In particolare:
 block: significa che prima e dopo il testo si avranno dei simboli di a capo
automatico (<BR>) come se si trattasse di un tag P o DIV
 inline: indica al browser che il testo del tag deve essere accodato al testo
precedente e successivo, a meno che uno di questi ultimi non sia di tipo
block
 none: permette di nascondere il testo e quindi non visualizzare a schermo
alcune informazioni, in realtà presenti nel documento XML originale.
Dott. Nicola Dragoni
10
Tecnologie di Internet
Formattazione di contenuti
XML e CSS (3)
Per inserire in un documento XML un foglio di stile CSS (Stile2.css) si usa
una processing instruction che ha la seguente sintassi:
<?xml-stylesheet type=“text/css” href=“Stile2.css”?>
Se inseriamo questa istruzione nel documento Documento.xml (vedi
Documento2.xml) otteniamo a video il seguente output:
Dott. Nicola Dragoni
11
Tecnologie di Internet
Formattazione di contenuti
XML e CSS (4)
Finora abbiamo solo considerato la formattazione di elementi in funzione del
loro nome. In realtà la sintassi dei CSS permette anche di lavorare sulle relazioni
di parentela tra gli elementi e sull’esistenza o meno di attributi e nodi figli.
Regola
Formattazione applicata a
*
Tutti gli elementi, qualunque sia il loro nome.
Titolo
Tutti gli elementi di nome Titolo.
Titolo, Paragrafo
Tutti gli elementi di nome Titolo o di nome Paragrafo.
Capitolo Paragrafo
Tutti gli elementi di nome Paragrafo che sono contenuti, a
qualsiasi livello di profondità, in Capitolo.
Capitolo>Paragrafo
Tutti gli elementi di nome Paragrafo che sono figli di Capitolo.
Prezzo[Valuta]
Tutti gli elementi di nome Prezzo che abbiano anche l’attributo
Valuta, indipendentemente dal suo valore.
Prezzo[Valuta=“Euro”] Tutti gli elementi di nome Prezzo che abbiano l’attributo Valuta
con valore “Euro”.
Dott. Nicola Dragoni
12
Tecnologie di Internet
Formattazione di contenuti
XML e CSS (5)
ESEMPIO
Indichiamo tramite un CSS che il tag Prezzo del documento Libro
(Libro.xml) deve essere scritto in rosso se la Valuta è Lire e in verde se
la Valuta è Euro:
Prezzo[Valuta=“Lire”] {color: red;}
Prezzo[Valuta=“Euro”] {color: green;}
Nascondiamo tramite un CSS tutte le informazioni del tag Struttura del
documento Libro:
Struttura {display: none;}
Salviamo queste regole in un file CSS (StileNewLibro.css) e
applichiamole al documento Libro (ovviamete adattato, vedi
NewLibro.xml) per vedere a video il risultato.
Dott. Nicola Dragoni
13
Tecnologie di Internet
Formattazione di contenuti
Esempi
Dott. Nicola Dragoni
14
Scarica

Corso Integrativo XML 7