Dispensa di HTML per chi muove i primi passi nel Web

Transcript

Dispensa di HTML per chi muove i primi passi nel Web
Giorno dopo Giorno - Scritture quotidiane
Un blog di Sergio Fumich – www.sergiofumich.com
Helps & Tools for the Web and Webmasters
Dispensa di HTML
per chi muove i primi passi nel Web
INDICE
1
2
3
4
Che cos’è HTML .........................................................................................................................4
Creazione di documenti HTML ...................................................................................................5
Testo e marcatori..........................................................................................................................6
Marcatori di struttura ...................................................................................................................8
4.1 Il marcatore <!DOCTYPE>.....................................................................................................8
4.2 Il marcatore <HTML> .............................................................................................................8
4.3 Il marcatore <HEAD>..............................................................................................................8
4.4 Il marcatore <TITLE>..............................................................................................................8
4.5 Il marcatore <BODY> .............................................................................................................8
5
Marcatori fondamentali di HTML .............................................................................................10
5.1 Creazione di titoli...................................................................................................................10
5.2 Marcatura dei paragrafi..........................................................................................................10
5.3 Elenchi ...................................................................................................................................11
5.4 Altri marcatori........................................................................................................................11
6
Collegamenti ..............................................................................................................................13
6.1 Collegamenti interni...............................................................................................................13
6.2 URL (Uniform Resource Locator).........................................................................................14
6.3 Collegamento ad altro materiale Internet...............................................................................14
7
Inserire immagini ed elementi multimediali nei documenti ......................................................16
7.1 Attributi del marcatore <IMG>..............................................................................................16
7.2 Inserire suoni e filmati ...........................................................................................................16
8
Immagini cliccabili ....................................................................................................................19
8.1 Mappe cliccabili di tipo client-side........................................................................................19
9
Creazione di tabelle....................................................................................................................21
9.1 Le sezioni di una tabella.........................................................................................................21
9.2 Gruppi di colonne...................................................................................................................22
9.3 I marcatori <TR>, <TH> e <TD>..........................................................................................22
9.4 Formattazione di una tabella ..................................................................................................23
9.5 Allineamento entro le celle ....................................................................................................23
9.6 I margini delle celle................................................................................................................24
10 Creazione di moduli ...................................................................................................................25
10.1 Elenchi di voci .......................................................................................................................25
10.2 Il marcatore <TEXTAREA>..................................................................................................26
11 Suddivisione in aree indipendenti (frames) ...............................................................................27
11.1 Impostazione delle frame .......................................................................................................27
11.2 Impostazione dei collegamenti...............................................................................................28
12 Marcatori applet e incorporamento di oggetti............................................................................29
12.1 Il marcatore <PARAM> ........................................................................................................30
12.2 La coppia di marcatori <APPLET>…</APPLET>...............................................................30
13 Fogli di stile ...............................................................................................................................32
13.1 Posizionamento variabile delle informazioni di stile.............................................................32
13.2 Indipendenza da uno specifico linguaggio.............................................................................32
13.3 Uso contemporaneo di più style sheets per uno stesso documento (cascading)....................32
13.4 Dipendenza dal media utilizzato per la visualizzazione ........................................................32
13.5 Performances..........................................................................................................................33
13.6 Default style sheets language.................................................................................................33
13.7 Style sheets interni .................................................................................................................33
13.8 Style sheets esterni .................................................................................................................34
13.9 Media descriptors...................................................................................................................35
2
14 Cascading Style Sheets Level 1 .................................................................................................36
14.1 Commenti...............................................................................................................................36
14.2 L’ordine di cascata .................................................................................................................37
14.3 Il modello di formattazione....................................................................................................37
14.4 I font di caratteri.....................................................................................................................37
14.5 Il colore del testo e dello sfondo ............................................................................................38
14.6 Il testo.....................................................................................................................................38
14.7 Box .........................................................................................................................................39
14.8 Proprietà di classificazione ....................................................................................................41
14.9 Spazi bianchi ..........................................................................................................................41
14.10 Liste....................................................................................................................................41
14.11 Unità di misura negli style sheets ......................................................................................42
15 Cenni di HTML dinamico..........................................................................................................43
15.1 Collezioni ...............................................................................................................................43
15.2 Il modello a oggetti ................................................................................................................43
15.3 La gestione degli eventi .........................................................................................................44
3
1
Che cos’è HTML
HTML è l’acronimo di HyperText Markup Language, un linguaggio per creare ipertesti, costituito
da un sistema di codici (marcatori o tag) che definiscono le caratteristiche di un documento e ne
guidano la composizione sullo schermo.
Con il termine ipertesto si intende un documento che può essere letto in una forma non lineare. Un
ipertesto, cioè, consente di leggere uno o più documenti saltando direttamente al loro interno o
dall’uno all’altro, in base alle specifiche esigenze, interessi o necessità, senza dover seguire, come
se si leggesse un libro, un percorso sequenziale o lineare per raggiungere la medesima
informazione.
Il linguaggio HTML è stato creato dal Center for High Energy Physics in Svizzera con lo scopo di
consentire ai ricercatori del Centro stesso di potersi scambiare direttamente online la propria
documentazione servendosi, invece che del supporto cartaceo, dello schermo di un computer.
Il linguaggio HTML viene utilizzato per organizzare le informazioni in modo da creare documenti
elettronici che possono essere sfogliati tramite computer per passare rapidamente da un argomento
all’altro, invece di dover leggerne l’intero contenuto in una forma sequenziale. L’organizzazione dei
documenti elettronici è un’operazione che richiede impegno ma, se utilizzata correttamente,
consente di “navigare” tra le informazioni e i riferimenti incrociati fino a raggiungere l’argomento
finale desiderato senza essere obbligati a leggere parti del documento irrilevanti o non necessarie.
4
2
Creazione di documenti HTML
Per creare un documento HTML, si devono avere a disposizione, come minimo, un editor di testo,
per la creazione del codice sorgente, e un navigatore o browser, per la visualizzazione del
documento generato dal codice sorgente.
Inoltre, nel caso si desideri inserire nel documento elementi grafici e non solo testuali, si avrà
bisogno di un software grafico, e qualora si voglia rendere disponibile il documento in Internet,
anche di una applicazione FTP per la collocazione del documento sul server web.
Per creare il codice sorgente di un documento HTML, sebbene oggi esistano sofisticati editor
WYSIWYG e convertitori, che sollevano l’autore dal compito della generazione del codice
lasciandogli solo quello di affinarlo per ottenere i risultati finali desiderati, sono più che sufficienti
Blocco Note (Notepad) per l’ambiente MS Windows e vi per l’ambiente Unix.
5
3
Testo e marcatori
Quando si utilizza un linguaggio come HTML, non si ha alcun bisogno di preoccuparsi di come
verranno formattate le parti di un documento, ma sarà sufficiente segnalarle singolarmente,
applicando alle stesse l’opportuno marcatore che indicherà il tipo di elemento stesso.
I documenti HTML sono fondamentalmente composti da tre elementi:
ƒ testo sul quale si interviene;
ƒ marcatori che determinano gli elementi di un documento;
ƒ marcatori che inseriscono altri oggetti, come immagini, suoni, piccoli programmi
complementari (applet) ed elementi animati.
I marcatori, che rappresentano i comandi del linguaggio HTML, sono elementi di testo racchiusi tra
parentesi angolari ( < >) .
Alcuni marcatori del linguaggio HTML sono utilizzati singolarmente, altri vanno usati in coppia,
cioè uno (marcatore di apertura) dovrà essere inserito prima del testo cui si riferisce, l’altro
(marcatore di chiusura) dovrà chiudere il testo. Qualsiasi cosa inserita fra il marcatore di apertura e
quello di chiusura sarà influenzata dal marcatore stesso.
Esempio:
<MARCATORE>componente testuale</MARCATORE>
Il marcatore di apertura e quello di chiusura sono praticamente identici nella componente letterale
con la sola eccezione che il secondo viene preceduto da uno slash (/).
Nella scrittura del codice, è buona norma inserire contemporaneamente il marcatore di apertura e
quello di chiusura, lasciando al momento immediatamente successivo l’inserimento del contenuto
da racchiudere tra di essi.
In alcune situazioni i marcatori possono comprendere anche uno o più attributi. Un attributo
specifica ulteriori informazioni quali, ad esempio, il colore, le dimensioni, l’allineamento,
l’indirizzo del collegamento oppure il testo che dovrà apparire al posto di un’immagine.
Esempio:
<MARCATORE BGCOLOR=”#RRGGBB”>componente testuale</MARCATORE>
L’attributo nell’esempio definisce un colore di sfondo. Nel caso di marcatori a coppie, gli attributi
vengono sempre inseriti nel marcatore di apertura.
In linea generale, non viene rilevata la differenza nella scrittura dei marcatori fra lettere maiuscole e
minuscole o combinazioni di esse. Per facilitare la lettura e la loro identificazione all’interno del
codice sorgente di un documento HTML, si consiglia di scrivere i marcatori utilizzando solo
caratteri maiuscoli.
Al contrario dei marcatori, il testo contenuto tra gli stessi sarà riprodotto, sulla pagina finale
interpretata, con la sequenza di caratteri maiuscoli e minuscoli utilizzati nel codice sorgente.
I browser ignorano qualsiasi tipo di formattazione che non sia stata definita utilizzando marcatori.
Di conseguenza la presenza di spazi aggiuntivi, righe bianche o fermi di tabulazione inseriti nel
testo non avranno alcun effetto sull’aspetto finale del documento HTML.
I tre seguenti esempi di scrittura produrranno tutti lo stesso effetto finale:
<MARCATORE>Testo compreso fra i marcatori</MARCATORE>
<MARCATORE>
Testo compreso fra i marcatori
6
</MARCATORE>
<MARCATORE>
Testo compreso
fra
i
marcatori
</MARCATORE>
In molte situazioni è richiesta la presenza di marcatori inseriti all’interno di una coppia di altri
marcatori (marcatori annidati). La tecnica dell’annidamento dei marcatori consente di applicare a
un unico elemento di un documento HTML vari stili di formattazione.
Esempio:
<B><I>Testo in grassetto e corsivo</I></B>
Lo stesso effetto dell’esempio precedente si otterrà anche invertendo l’ordine dei marcatori:
<I><B>Testo in grassetto e corsivo</B></I>
7
4
Marcatori di struttura
Si definiscono marcatori di struttura alcuni marcatori HTML che definiscono e descrivono la
struttura di un documento. Generalmente non hanno alcun effetto sull’aspetto del documento o delle
informazioni contenute al suo interno, ma permettono ai browser o agli editor HTML di identificare
le caratteristiche del documento.
Alcuni sono elementi dichiarati imprescindibili per un corretto codice sorgente di un documento
HTML dall’organizzazione che stabilisce le regole HTML stesse, il Consorzio W3
(http://www.w3.org).
4.1
Il marcatore <!DOCTYPE>
Il marcatore di struttura <!DOCTYPE> è di tipo singolo e ha lo scopo di identificare il documento
come un documento HTML che si adegua a specifici standard HTML.
Esempio:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2 Final//EN”>
Il marcatore va inserito all’inizio del codice sorgente del documento HTML.
4.2
Il marcatore <HTML>
La coppia di marcatori <HTML> viene utilizzata per racchiudere qualsiasi elemento del codice
sorgente, a esclusione del marcatore <!DOCTYPE>.
La coppia di marcatori indica che per creare il documento è stato utilizzato HTML.
Esempio:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2 Final//EN”>
<HTML>
… tra questi due marcatori viene inserito tutto il materiale testuale
relativo al documento…
</HTML>
4.3
Il marcatore <HEAD>
La coppia di marcatori <HEAD> definisce l’intestazione del documento, cioè la parte di documento
utilizzata per identificare il documento o per farvi riferimento.
Il marcatore <HEAD> deve essere inserito subito dopo il marcatore <HTML>.
4.4
Il marcatore <TITLE>
La coppia di marcatori <TITLE>, obbligatoriamente richiesta dalle specifiche HTML, applica un
titolo al documento e va inserita all’interno della coppia di marcatori <HEAD>.
Si consiglia di inserire tra i marcatori un titolo che sia il più descrittivo possibile in modo da
facilitare il reperimento o l’identificazione dei propri documenti inseriti in Internet.
4.5
Il marcatore <BODY>
La coppia di marcatori <BODY> indica che tutte le informazioni contenute tra il marcatore di
apertura e il corrispondente marcatore di chiusura fanno parte del corpo principale del documento.
Racchiudono cioè tutto quanto verrà visualizzato dal browser.
Il marcatore di apertura <BODY> viene immesso immediatamente prima delle informazioni che si
desiderano inserire nel documento HTML. Tecnicamente, tutti gli altri marcatori che verranno
successivamente utilizzati saranno annidati nella coppia di marcatori <BODY>…</BODY>.
8
Esempio:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2 Final//EN”>
<HTML>
<HEAD>
<TITLE>Esempio di struttura di un documento</TITLE>
</HEAD>
<BODY>
… tra questi due marcatori viene inserito tutto il materiale testuale
relativo al documento…
</BODY>
</HTML>
È possibile assegnare al marcatore <BODY> degli attributi per specificare il colore di sfondo del
documento, il colore di default del testo e dei collegamenti.
I colori vengono specificati da un numero RGB (Reed-Green-Blue, rosso-verde-blu), una sequenza,
preceduta dal carattere #, di tre numeri esadecimali di due cifre che definiscono la quantità di rosso,
di verde e di blu da utilizzare per la creazione di uno qualsiasi dei 16,7 milioni di colori disponibili.
La corretta miscelazione dei livelli RGB permette, cioè, di creare un qualsiasi colore.
Ad esempio, #FFFFFF rappresenta il bianco, #FF0000 il rosso pieno, #00FF00 il verde pieno,
#0000FF il blu pieno, #000000 il nero.
In alternativa, molti colori possono essere specificati in base al loro nome di colore standard.
L’attributo BGCOLOR=”#rrggbb” oppure BGCOLOR=”nome” applica un colore allo sfondo del
documento in base.
L’attributo TEXT applica un colore al testo normale del documento.
L’attributo LINK applica un colore ai collegamenti di un documento. LINK corrisponde al testo di
ancoraggio visibile nel documento. L’attributo ALINK assegna un colore al collegamento attivo
(Active Link). L’attributo VLINK definisce il colore dei collegamenti già visitati (Visited Link).
9
5
Marcatori fondamentali di HTML
In questa sezione si descriveranno i marcatori di HTML per la creazione dei vari livelli di titolo, dei
paragrafi e degli elenchi di voci e quelli per far risaltare alcune parti di un testo. L’effetto finale
dell’applicazione al testo di tali marcatori dipenderà dal tipo di browser e di computer utilizzato per
visualizzare il documento.
5.1
Creazione di titoli
HTML prevede sei diversi livelli da applicare ai titoli, contrassegnati dai marcatori che vanno da
<H1> a <H6>. Tutti i marcatori per i livelli di titolo devono essere utilizzati in coppia.
<H1> corrisponde al titolo di primo livello, cioè di carattere maggiore rispetto ai successivi, mentre
<H6> è il titolo di sesto livello, minimo possibile e con la più piccola dimensione di carattere
rispetto ai cinque livelli superiori.
A tutti i livelli di titolo viene applicato automaticamente il grassetto.
L’uso dei sei livelli di titolo si adatta alla maggior parte delle situazioni nelle quali è necessario
creare una struttura gerarchica di importanza dei paragrafi.
5.2
Marcatura dei paragrafi
Con HTML, servendosi della coppia di marcatori <P>…</P>, si ha la possibilità di suddividere le
informazioni in paragrafi.
È possibile stabilire l’allineamento a sinistra (default), al centro o a destra oppure la giustificazione
del paragrafo attraverso l’attributo ALIGN, che può assumere rispettivamente i valori LEFT,
CENTER, RIGHT e JUSTIFY.
Esempio:
<P ALIGN=”RIGHT”> ….. </P>
Dopo aver scritto un paragrafo di testo, potrebbe sorgere la necessità di far risaltare frasi o parole in
modo che queste emergano nel contesto del paragrafo al quale appartengono.
Per ottenere questo risultato, HTML mette a disposizione diversi marcatori. Se ne elencano di
seguito alcuni.
<EM> … </EM>
Enfatizzano il testo racchiuso solitamente applicandovi il corsivo
<STRONG> … </STRONG> Applicano al testo racchiuso un’enfasi maggiore, di solito il grassetto
<B> … </B>
Applicano al testo la formattazione del grassetto
<I> … </I>
Applicano al testo la formattazione del corsivo
<SUB> … </SUB>
Applicano al testo la formattazione di pedice
<SUP> … </SUP>
Applicano al testo la formattazione di apice
<U> … </U>
Applicano al testo la formattazione della sottolineatura.
Si ha anche la possibilità di applicare ad una porzione di paragrafo più di un marcatore, annidandoli.
10
5.3
Elenchi
Vi sono situazioni nelle quali, in un documento HTML, devono apparire informazioni organizzate
sotto forma di elenco in modo da facilitare la percezione delle varie informazioni suddivise per
punti.
Per creare un elenco è necessario innanzitutto inserire una coppia di marcatori che specifichino che
le informazioni racchiuse dovranno apparire sotto forma di elenco.
ƒ Si potrà definire un elenco ordinato, cioè un elenco di punti numerati sequenzialmente,
servendosi della coppia di marcatori <OL> … </OL>.
ƒ Si potrà definire un elenco non ordinato, cioè un elenco puntato, servendosi della coppia di
marcatori <UL> … </UL>.
Successivamente si farà precedere dal marcatore <LI> ogni voce dell’elenco.
Esempio:
<H2>Corsi Anno Formativo 2002/2003</H2>
<UL>
<LI>Analista Programmatore object oriented
<LI>Tecnico di Sistemi di Reti / Webmaster
<LI>Tecnico E-commerce
<LI> Tecnico di grafica multimediale / Web Designer
</UL>
Si ha la possibilità di aggiungere alle voci attributi di testo o informazioni aggiuntive sulle modalità
di rappresentazione. Ai marcatori <UL> e <OL> si può assegnare l’attributo TYPE che ne
determina la rappresentazione.
Nel caso degli elenchi non ordinati TYPE può assumere i valori “disc”, “circle” e “square”.
Nel caso degli elenchi ordinati TYPE può assumere i valori “1”, “a”, “A”, “i”, “I”. Il primo valore
si riferisce alla rappresentazione delle voci con numeri arabici (1, 2, 3, …), il secondo ed il terzo a
una rappresentazione alfabetica rispettivamente, minuscola e maiuscola (a, b, c, … A, B, C, …), gli
ultimi due ad una rappresentazione mediante la numerazione romana rispettivamente minuscola e
maiuscola (i, ii, iii, … I, II, III, …).
5.4
Altri marcatori
<DIV> … </DIV>
La coppia di marcatori è usata per impostare una divisione o sessione all’interno del documento.
Anche per questa coppia di marcatori è utilizzabile, come già per il marcatore <P>, l’attributo
ALIGN per allineare la divisione a sinistra, a destra o al centro.
La coppia di marcatori <CENTER> … </CENTER> è un’abbreviazione non standardizzata della
coppia di marcatori <DIV ALIGN=”CENTER”> … </DIV>.
<BLOCKQUOTE> … </BLOCKQUOTE>
La coppia di marcatori può essere usata per l’inserimento di citazioni. <BLOCKQUOTE> crea un
paragrafo uguale agli altri paragrafi di testo normale, con la sola differenza che tutte le righe
verranno fatte rientrare verso destra rispetto al margine sinistro.
<PRE> … </PRE>
11
La coppia di marcatori può essere usata per individuare un blocco di testo che deve essere
visualizzato con un carattere a spaziatura fissa. Con i marcatori <PRE> gli spazi e le righe
aggiuntive racchiusi sono significativi.
<DL> … </DL>
La coppia di marcatori può essere usata per creare un elenco di definizioni. All’interno della coppia
<DL> i marcatori singoli <DT> identificano l’inizio di ogni voce dell’elenco e i marcatori singoli
<DD> l’inizio di ogni definizione di voce.
<ADDRESS> … </ADDRESS>
La coppia di marcatori può essere usata per racchiudere le informazioni relative all’autore e al
documento.
<CODE> … </CODE>
La coppia di marcatori può essere utilizzata per contrassegnare un frammento di codice sorgente
che viene, di solito, riportato in carattere a spaziatura fissa.
<CITE> … </CITE>
La coppia di marcatori può essere usata per contrassegnare la citazione di un libro, di un articolo o
simili. Nella maggior parte dei browser il testo viene riportato in corsivo.
<BR>
Inserisce interruzioni di riga. Se si inserisce un marcatore di interruzione di riga e si vuole essere
sicuri che la nuova riga inizi sotto un elemento, ad esempio un’immagine, al marcatore dovrà essere
assegnato l’attributo CLEAR=”ALL”. Questa combinazione indica alla riga successiva di iniziare al
di sotto di qualsiasi altro oggetto eventualmente presente sulla riga stessa.
12
6
Collegamenti
Quando si creano documenti HTML, in effetti si realizza un documento che può essere sfogliato
passando da un argomento all’altro, ovvero saltando da una pagina all’altra o da un concetto
all’altro senza doverlo necessariamente leggere in sequenza.
I collegamenti (o ipercollegamenti o link) sono parti predefinite di un documento che si possono
selezionare per accedere ad altri argomenti, documenti o siti Web, cioè a raccolte di documenti
HTML.
La realizzazione di collegamenti ipertestuali si basa su àncore. “Ancora” (o ipercollegamento) è un
termine specialistico per indicare la parte di un collegamento ipertestuale che contrassegna
l’elemento sul quale si può fare clic col mouse per accedere ad altre parti dello stesso documento o
ad altri documenti. In HTML un’ancora è realizzata con la coppia di marcatori <A> … </A>.
I marcatori di ancoraggio vengono associati a uno dei due seguenti attributi:
HREF che consente all’utente di saltare da una porzione di informazione a un’altra. Questa
combinazione di marcatore e attributo crea quello che viene definito un ipercollegamento.
Esempio:
<A HREF=”http://cuochi.italiani.org/ricette/pasticcio.html”>Pasticcio di maccheroni</A>
Facendo clic sulle parole “Pasticcio di maccheroni”, il browser caricherà il documento che si
trova su un server web all’indirizzo “http://cuochi.italiani.org/ricette/pasticcio.html”.
ƒ
6.1
NAME identifica, invece, una posizione all’interno di un documento. Tale posizione potrà fare
parte di un URL (un indirizzo nel Web), in modo che il lettore abbia la possibilità di accedervi
direttamente.
L’attributo NAME viene di solito utilizzato in documenti relativamente lunghi evitando di dover
far scorrere manualmente il contenuto del documento per raggiungere la posizione desiderata.
Collegamenti interni
Un collegamento interno punta a una posizione definita all’interno di un documento.
I collegamenti interni hanno senso soprattutto quando si sta creando un documento HTML molto
esteso e non si ha alcuna possibilità di suddividerlo in documenti separati. In queste situazioni si
potranno utilizzare i collegamenti interni in modo che puntino a una nuova posizione dello stesso
documento.
Per definire l’elemento al quale punta un marcatore di ancoraggio si utilizza l’attributo NAME.
Esempio:
<H2><A NAME=”maccheroni”>Pasticcio</a> di maccheroni</H2>
Questo tipo di ancoraggio non viene segnalato dal browser quando visualizzerà il documento.
Per creare all’interno del documento un collegamento diretto al paragrafo intitolato “Pasticcio di
maccheroni” si inserirà opportunamente un collegamento a #maccheroni come nell’esempio:
… una ricetta per un gustoso <A HREF=”#maccheroni”> pasticcio di maccheroni</A>.
Se il collegamento deve essere inserito in un documento diverso da quello contenente il paragrafo
intitolato “Pasticcio di maccheroni”, che, reso disponibile su di un server web, abbia per URL
l’indirizzo “http://cuochi.italiani.org/ricette/pasticci.html” si scriverà come segue:
13
… una ricetta per un gustoso <A HREF=”http://cuochi.italiani.org/ricette/pasticci.html#maccheroni”>
pasticcio di maccheroni</A>.
6.2
URL (Uniform Resource Locator)
Con il termine URL, acronimo di Uniform Resource Locator, si indica un indirizzo di Internet al
quale accedere per reperire le informazioni desiderate.
Gli URL si differenziano in base al loro tipo di specificità e si distinguono in URL assoluti (o
completi) e URL relativi (o parziali).
Se si sta creando un documento che si desidera pubblicare in Internet, si utilizzerà un URL assoluto
in modo che qualsiasi utente Internet possa sempre reperire la pagina.
Se, invece, si sta creando un documento che contiene collegamenti ad altri file contenuti nella stessa
cartella, si utilizzerà un URL relativo, in quanto il collegamento fa riferimento ad un file nella
cartella o directory corrente.
Tutti i documenti HTML possono usare gli URL per collegarsi ad altre informazioni, altri
documenti HTML, altri siti in Internet o anche a file grafici o sonori.
Gli URL riconoscono la differenza fra caratteri minuscoli e maiuscoli, e, pertanto, su alcuni
computer si possono ottenere a seconda della modalità di digitazione diversi risultati. Di
conseguenza, se si crea un nome di file nel quale appaiono sia caratteri minuscoli che maiuscoli,
quando si crea un collegamento a tale file all’interno di un documento, si dovrà utilizzare la
medesima sequenza di lettere maiuscole e minuscole.
Un URL è composto da un indicatore di protocollo, dal nome dell’host e dal nome della directory
e/o dal nome del file.
Esempio:
http://space.tin.it/scuola/snhcec/index.html
http://
corrisponde all’indicatore di protocollo e indica al server come
inviare le informazioni.
space.tin.it
corrisponde al nome dell’host e definisce un computer di Internet.
/scuola/snhcec/
corrispondono ad un percorso costituito dai relativi nomi di directory.
index.html
corrisponde al nome del file memorizzato nel computer host.
Si cerchi di evitare la creazione di nomi di directory o di file che contengano spazi o caratteri strani.
Poiché alcuni server hanno dei problemi a riconoscere i caratteri non comuni, o riconoscono la
differenza tra maiuscole e minuscole, per evitare inconvenienti ci si limiti all’uso delle lettere
(minuscole), ai numeri, agli underscore (_), ai punti (.) o ai segni più (+).
6.3
Collegamento ad altro materiale Internet
Nello stesso modo con cui è possibile stabilire un collegamento a documenti HTML, file grafici o
altri file indicando il corretto URL, si ha anche la possibilità di creare un collegamento ad altri tipi
di informazione presenti in Internet, come, ad esempio, gruppi di discussione o archivi di file.
Per farlo è necessario indicare il corretto protocollo di trasferimento. Per protocollo s’intende il
modello in base al quale due computer possono colloquiare.
14
Protocollo
URL
HTTP
FTP
Gopher
News (NNTP)
Mail
Telnet
File
http://
ftp://
gopher://
news:
mailto:
telnet://
file://
oppure file:///
wais://
Wais
15
7
Inserire immagini ed elementi multimediali nei documenti
In un documento HTML si avrà sempre la possibilità di inserire facilmente immagini, intendendo
per immagine un qualsiasi oggetto grafico: disegno, fotografia, grafico, ecc.
Le immagini che si intendono inserire in un documento HTML devono essere in formato GIF, JPG
o PNG. Sono tutti formati di tipo compresso che richiedono meno spazio su disco e un tempo di
download inferiore rispetto agli altri formati disponibili.
Le immagini GIF sono più adatte per oggetti grafici disegnati o per immagini con un numero di
colori relativamente limitato. Le immagini JPG sono più adatte per le riproduzioni fotografiche o
per le immagini con molti colori o tonalità di grigio. Il formato PNG, riconosciuto solo dai browser
più recenti, combina in sé i vantaggi offerti dai formati JPG e GIF.
L’inserimento di un’immagine in un documento HTML avviene utilizzando il marcatore <IMG>
associato all’attributo SRC, il cui scopo è quello di puntare a un URL contenente l’immagine.
Esempio:
<IMG SRC=”topolino.jpg”>
7.1
Attributi del marcatore <IMG>
SRC=”…”
ALT=”…”
BORDER=n
ALIGN=”bottom”
=”left”
=”middle”
=”right”
=”top”
HSPACE=n
VSPACE=n
HEIGHT=n
WIDTH=n
7.2
Definisce l’URL contenente l’immagine da inserire.
Definisce un testo alternativo da visualizzare se l’immagine non viene
visualizzata.
Controlla lo spessore del filetto di contorno espresso in pixel, che viene
applicato alla struttura di contenimento dell’immagine.
Allinea il lato inferiore dell’immagine alla linea di base della riga
corrente.
Consente di posizionare l’immagine lungo il margine sinistro ma di
spostarla verso l’alto o verso il basso nell’area disponibile; il testo che
affianca l’immagine sarà quindi fatto scorrere lungo il lato destro della
struttura di contenimento dell’immagine.
Allinea la linea di base del testo alla metà verticale della struttura che
contiene l’immagine.
Allinea l’immagine al margine destro della pagina con la possibilità di
spostarla verso l’alto o verso il basso nell’area di ingombro disponibile. Il
testo viene fatto scorrere alla sinistra dell’immagine.
Allinea la parte superiore del testo al lato superiore dell’immagine.
Controlla lo spazio orizzontale inserendo uno spazio bianco posto ai
fianchi dell’immagine. Il valore n è espresso in pixel.
Controlla lo spazio verticale inserendo uno spazio bianco posto sopra e
sotto l’immagine. Il valore n è espresso in pixel.
Definisce l’altezza dell’immagine. Il valore n è espresso in pixel.
Definisce la larghezza dell’immagine. Il valore n è espresso in pixel.
Inserire suoni e filmati
Per inserire filmati o spezzoni sonori all’interno di un documento basta creare un collegamento
ipertestuale con un file scaricabile da un server. Bisogna prestare attenzione alle dimensioni del file:
un file audio o video può richiedere tempi di download eccessivi.
Internet Explorer ha introdotto alcune innovazioni al mondo dei multimedia online. Si tratta di
alcuni comandi che permettono di inserire direttamente nel documento filmati AVI online, suoni di
sottofondo e scritte scorrevoli.
16
Per inserire un file AVI direttamente nella pagina si ricorre all’attributo DYNSRC del marcatore
<IMG> come nel seguente esempio:
<IMG DYNSRC=”tango.avi” SRC=”tango.jpg” ALT=”Tango argentino”>
Il risultato dell’esempio sarebbe la riproduzione di un video AVI con Internet Explorer, di una foto
con Netscape, della scritta “Tango argentino” con Lynx.
Per inserire un suono di sottofondo ad un documento da visualizzare con Internet Explorer si ricorre
al comando <BGSOUND> e al suo attributo LOOP.
Esempio:
<BGSOUND SRC=”squillo.wav” LOOP=5>
L’attributo LOOP indica quante volte il suono deve essere ripetuto. Per far ripetere il suono fino a
che non si abbandoni il documento, bisogna assegnare a LOOP il valore INFINITE oppure –1.
È possibile inserire delle scritte scorrevoli in un documento da visualizzare con Internet Explorer
utilizzando il comando <MARQUEE>, che può essere associato al marcatore <Hn> per creare
scritte di dimensioni superiori.
Esempio:
<H3><MARQUEE>Questa è una scritta scorrevole</MARQUEE></H3>
Il marcatore <MARQUEE> dispone di una serie di attributi che consentono di definire l’aspetto, il
comportamento, la direzione, la velocità e il numero di ripetizioni della scritta.
BGCOLOR definisce il colore di sfondo su cui si muove la scritta. Il suo valore può essere
espresso in codifica esadecimale o attraverso un nome di colore.
HEIGHT e WIDTH indicano l’altezza e la larghezza dello sfondo su cui si muove la scritta.
Possono avere sia un valore espresso in pixel, sia in percentuale rispetto alla larghezza dello
schermo.
HSPACE e VSPACE definiscono lo spazio libero tra i lati dello sfondo in cui scorre la scritta e il
testo che le sta attorno. HSPACE definisce lo spazio ai lati e VSPACE quello sopra e sotto.
ALIGN e i suoi tre valori TOP, MIDDLE e BOTTOM allineano il testo vicino allo sfondo di
scorrimento della scritta rispettivamente in alto, lungo la linea mediana e in basso. Il testo della
scritta scorrevole sarà invece sempre allineato in alto rispetto lo sfondo.
BEHAVIOR determina il comportamento della scritta sullo schermo. Se gli si assegna il valore
SCROLL la scritta apparirà sul lato destro, scorrerà verso sinistra, sparirà completamente per poi
riapparire sul lato destro. Se il valore è SLIDE, la scritta si fermerà non appena la prima lettera
tocca il lato sinistro dello schermo, per sparire e riapparire a destra. Il valore ALTERNATE non fa
mai sparire la scritta dallo schermo, facendola rimbalzare da destra a sinistra e viceversa.
DIRECTION è un attributo che si applica solo a BEHAVIOR=SCROLL, che è il valore di default,
e può avere come valori LEFT e RIGHT che indicano la direzione del movimento.
LOOP determina il numero di ripetizioni degli scorrimenti. LOOP=INFINITE o LOOP=”-1” fa
scorrere la scritta all’infinito.
SCROLLAMOUNT e SCROLLDELAY determinano la velocità di scorrimento della scritta sullo
schermo. SCROLLAMOUNT indica il numero di pixel che si spostano alla volta; un valore elevato
17
fa scorrere velocemente la scritta. SCROLLDELAY indica il numero di millisecondi tra uno scatto
e l’altro della scritta; valori elevati determinano un movimento più lento e con scatti più visibili.
18
8
Immagini cliccabili
Le immagini cliccabili (o image map o mappe cliccabili) consentono di fare clic sull’immagine, o
parte di essa, per attivare un collegamento a un’altra pagina o a un’altra immagine.
Le immagini cliccabili sono un elemento ottimale per creare menu contestuali, ovvero consentire di
fare clic su varie parti della medesima immagine per attivare collegamenti a documenti o oggetti
diversi.
I controlli inseriti in un’immagine cliccabile vengono eseguiti dal software del browser, nel caso
essa sia un’immagine cliccabile client-side; ovvero dal software del server nel caso di un’immagine
cliccabile server-side. In entrambi i casi la procedura di inserimento di una mappa cliccabile in un
codice sorgente HTML è molto simile.
Per inserire una mappa cliccabile in un documento si procede come segue:
1. Si inserisce l’immagine nel codice sorgente HTML.
2. Si definiscono le aree cliccabili dell’immagine (mappatura).
3. Si definisce la mappa, ovvero si specificano a quali aree dell’immagine cliccabile
dovranno essere collegate le informazioni.
La differenza più importante fra le immagini cliccabili client-side e server-side sta nel fatto che le
seconde richiedono l’assistenza dell’amministratore di rete.
8.1
Mappe cliccabili di tipo client-side
Per indicare che un’immagine è una mappa cliccabile si aggiungerà al marcatore <IMG> che
inserisce l’immagine nel documento HTML l’attributo ISMAP, se la mappa è di tipo server-side,
oppure l’attributo USEMAP=”#nomemappa” se è di tipo client-side.
Per definire le aree cliccabili sarà necessario suddividere l’immagine in sezioni alle quali associare
i collegamenti alle informazioni che si desidera vengano richiamate.
Nella mappatura di un’immagine tutti i punti e le coordinate relative vengono misurati in pixel a
partire dall’angolo superiore sinistro dell’immagine intera., servendosi di coordinate di tipo x, y. Il
punto con coordinate “0,0” corrisponde all’angolo superiore sinistro dell’immagine.
Nella mappatura, le forme rettangolari richiedono l’indicazione delle coordinate dell’angolo
superiore sinistro e di quello inferiore destro; le forme circolari richiedono la definizione delle
coordinate del centro e la misura del raggio; le forme poligonali richiedono solo l’identificazione
delle coordinate di ciascun angolo. Qualsiasi altra forma potrà essere rappresentata servendosi di
una combinazione di rettangolo, cerchio, poligono.
La definizione delle componenti di una mappa cliccabile è fatta utilizzando la coppia di marcatori
<MAP NAME=”…”> … </MAP> e marcatori <AREA> per definire le singole aree.
L’attributo NAME di <MAP> assegna un nome al marcatore <MAP>.
Gli attributi del marcatore <AREA> sono i seguenti:
COORDS=”x1,y1,x2,y2,…” specifica le coordinate che definiscono l’area dell’immagine cliccabile.
HREF=”url” specifica la destinazione del collegamento dell’area della mappa cliccabile.
19
NOHREF indica che quando si fa clic sull’area non si otterrà alcun risultato.
SHAPE=”…” specifica il tipo di forma dell’area dell’immagine cliccabile, RECT per il rettangolo,
CIRCLE per il cerchio e POLYGON per il poligono.
Esempio:
<MAP NAME=”demomap”>
<AREA SHAPE=”RECT” COORDS=”169,92,297,220” HREF=”quadrato.html”>
<AREA SHAPE=”CIRCLE” COORD=”71,158,66” HREF=”cerchio.html”>
<AREA SHAPE=”POLYGON” COORDS=”396,92,463,222,334,222” HREF=”poligono.html”>
</MAP>
20
9
Creazione di tabelle
Il marcatore <TABLE>…</TABLE> permette di costruire una tabella le cui celle ordinate in righe e
colonne possono contenere un qualsiasi costrutto HTML.
Il marcatore <TABLE> consente diversi attributi. Ad esempio:
SUMMARY=”testo” permette di fornire una breve descrizione dello scopo e della struttura della
tabella a vantaggio di chi usa browser non visuali.
TITLE=”testo” farà visualizzare da parte del browser un piccolo riquadro (tool tip) che compare
sulla tabella quando si posiziona il mouse su di essa.
WIDTH=length definisce la larghezza dell’intera tabella e può essere espressa in pixel o in
percentuale rispetto alla larghezza della finestra di visualizzazione del browser. Se tale attributo non
è definito, la larghezza della tabella è determinata dal browser stesso.
BGCOLOR=”#rrggbb” definisce il colore di sfondo tramite il codice RGB.
Ogni costrutto <TABLE> può contenere un marcatore <CAPTION> … </CAPTION> che racchiude
in sé il titolo della tabella, e che comparirà al di sopra di questa nella visualizzazione del browser. Il
marcatore <CAPTION> può essere indicato solo immediatamente dopo il marcatore di apertura
<TABLE> della tabella e deve essere l’unico per quella tabella.
I marcatori <TR> definiscono le righe, mentre i marcatori <TD> definiscono le celle della tabella.
Esempio:
<TABLE>
<CAPTION>Titolo della tabella</CAPTION>
<TR><TD>Prima cella della prima riga</TD><TD>Seconda cella della prima riga</TD>….</TR>
<TR><TD>Prima cella della seconda riga</TD><TD>Seconda cella della seconda riga</TD>….</TR>
….
</TABLE>
9.1
Le sezioni di una tabella
Le righe di una tabella, definite ciascuna dal marcatore <TR>, possono essere raggruppate in più
sezioni.
Tramite i marcatori <THEAD>, <TFOOT> e <TBODY> è possibile infatti definire rispettivamente
una intestazione che verrà visualizzata nelle prime righe della tabella, una chiusura visualizzata
nelle ultime righe ed una o più sezioni centrali che conterranno i dati.
Queste suddivisioni permettono al browser di gestire lo scrolling del corpo della tabella
indipendentemente dall’intestazione e dalle note di chiusura, in modo tale che se la tabella è più
lunga di una schermata, intestazione e note di chiusura siano comunque visualizzate. Inoltre,
stampando la tabella, intestazione e note di chiusura vengono ripetute in ciascuna pagina di stampa,
permettendo una più facile lettura ed interpretazione dei dati.
21
9.2
Gruppi di colonne
I marcatori <COLGROUP> e <COL> offrono la possibilità di creare delle suddivisioni verticali
entro la struttura della tabella utili all’applicazione di diversi layout di formattazione tramite gli
style sheets od i consueti parametri HTML.
Una tabella può contenere un solo implicito gruppo di colonne o più gruppi definiti ciascuno da un
marcatore <COLGROUP>.
L’attributo SPAN=numero del marcatore <COLGROUP> definisce il numero (>0) di colonne del
gruppo. Se viene omesso, il gruppo sarà formato da una colonna sola.
In alternativa, il numero di colonne compreso in un gruppo può essere indicato dal ripetersi del
marcatore <COL>.
L’attributo WIDTH=multi-length permette di specificare l’ampiezza di ciascuna colonna del
gruppo. Il valore può essere specificato in pixel, in percentuale o come valore relativo
dell’ampiezza delle colonne l’una rispetto alle altre.
L’attributo WIDTH ammette il valore “0”, in questo caso il browser adatta la larghezza della
colonna alla più ampia stringa o immagine contenuta in una qualsiasi delle sue celle.
Esempio. I seguenti due costrutti creano entrambi una tabella con le stesse caratteristiche:
<COLGROUP SPAN=3 WIDTH=50>
</COLGROUP>
<COLGROUP>
<COL WIDTH=50>
<COL WIDTH=50>
<COL WIDTH=50>
</COLGROUP>
Se le caratteristiche delle colonne sono costanti per tutto il gruppo, è vantaggioso utilizzare il primo
costrutto; mentre se occorre specificare singolarmente l’ampiezza di una o più colonne, occorre
utilizzare il marcatore <COL>.
9.3
I marcatori <TR>, <TH> e <TD>
Ogni marcatore <TR> permette, definendo la singola riga, di espletare tutte le funzioni costruttive
della tabella stessa.
Ogni <TR> può essere seguito da uno o più <TH> e da uno o più <TD> che definiscono le celle
(ovvero le colonne) della riga.
Un marcatore <TH> definisce un header, una intestazione di colonna o riga. Il testo che segue il
marcatore viene automaticamente formattato in modo da essere evidenziato rispetto alle altre celle
della stessa tabella.
Ogni marcatore <TD> indica il contenuto della cella corrispondente.
L’attributo ROWSPAN dei marcatori <TH> e <TD> indica il numero di righe occupate dalla cella.
Il valore di default è 1, mentre il valore 0 indica che la cella occupa tutte le righe dalla corrente
all’ultima della tabella.
22
L’attributo COLSPAN dei marcatori <TH> e <TD> indica il numero di colonne occupate dalla
cella. Il valore di default è 1, mentre il valore 0 indica che la cella occupa tutte le colonne dalla
corrente all’ultima della tabella.
9.4
Formattazione di una tabella
L’attributo BORDER del marcatore <TABLE> definisce un bordo dello spessore indicato in pixel,
che viene applicato a tutta la tabella, cioè a tutte le celle.
L’attributo FRAME specifica quale lato della cornice che circonda ogni cella debba essere visibile.
La sintassi di FRAME è:
FRAME=VOID | ABOVE | BELOW | HSIDES | LHS | RHS | VSIDES | BOX | BORDER
VOID (nullo) è il valore di default e corrisponde a nessun bordo esterno.
ABOVE applica il bordo al margine superiore delle celle.
BELOW applica il bordo al margine inferiore delle celle.
HSIDES applica il bordo ai margini superiore ed inferiore delle celle.
VSIDES applica il bordo ai margini destro e sinistro delle celle.
LHS applica il bordo solo al margine sinistro.
RHS applica il bordo solo al margine destro.
BOX applica il bordo ai quattro margini.
BORDER applica il bordo ai quattro margini.
L’attributo RULES definisce invece quali linee di separazione devono apparire tra le celle di una
tabella. L’effetto è dipendente dal browser utilizzato. La sintassi è la seguente:
RULES=NONE | GROUPS | ROWS | COLS | ALL
NONE: nessuna linea (è il valore di default).
GROUPS: le linee appaiono solo tra i gruppi di righe e tra i gruppi di colonne.
ROWS: le linee appaiono solo tra le righe.
COLS: le linee appaiono solo tra le colonne.
ALL: le linee appaiono sia tra le righe che tra le colonne.
9.5
Allineamento entro le celle
L’allineamento del testo e degli altri oggetti che possono essere inseriti entro le celle delle tabelle, è
definito dal valore degli attributi ALIGN e VALIGN, che possono essere associati a diversi costrutti
delle tabelle.
Il parametro ALIGN specifica l’allineamento dei dati e la possibile giustificazione del testo rispetto
ai bordi delle celle. La sintassi è:
ALIGN=LEFT | CENTER | RIGHT | JUSTIFY | CHAR
LEFT determina l’allineamento a sinistra del testo.
CENTER determina l’allineamento centrato del testo.
RIGHT determina l’allineamento a destra del testo.
JUSTIFY determina la giustificazione del testo (allineamento contemporaneo a destra e a sinistra).
CHAR determina l’allineamento del testo rispetto ad un determinato carattere definito con
l’attributo CHAR.
Il parametro VALIGN definisce la posizione verticale dei dati entro una cella. La sintassi è:
VALIGN=TOP | MIDDLE | BOTTOM | BASELINE
23
TOP allinea il contenuto delle celle al margine superiore.
MIDDLE centra verticalmente il contenuto delle celle.
BOTTOM allinea il contenuto delle celle al margine inferiore.
BASELINE è usato per garantire che la prima riga di testo di ogni cella della stessa riga sia sulla
stessa linea base.
Il parametro CHAR=character specifica il carattere che si vuole utilizzare per definire
l’allineamento tramite ALIGN=CHAR.
9.6
I margini delle celle
L’attributo CELLSPACING del marcatore <TABLE> specifica lo spazio che il browser deve
lasciare tra i margini della tabella e le celle più esterne e tra le celle stesse. La sintassi è
CELLSPACING=length dove length viene espresso in pixel.
L’attributo CELLPADDING=length indica invece lo spazio che si vuole rimanga libero tra il
margine delle celle ed il loro contenuto, e può essere espresso sia in pixel che come valore
percentuale.
24
10 Creazione di moduli
Per HTML, un modulo è esattamente ciò che si intende, ovvero un sistema relativamente
impersonale per ottenere informazioni standardizzate.
Un modulo è generato dalla coppia di marcatori <FORM> … </FORM>, usati per racchiudere
l’intero frammento di codice relativo al modulo.
Per il marcatore <FORM> sono possibili i seguenti attributi:
ACTION=”…” definisce cosa accadrà ai dati dopo che questi sono stati immessi e confermati.
ENCTYPE=”…” specifica il tipo di codifica MIME per i dati del modulo.
METHOD=”…” identifica i metodi; le opzioni valide sono GET e POST.
Dopo aver inserito nel codice sorgente la coppia di marcatori <FORM> … </FORM>, si potranno
inserire fra di essi dei marcatori <INPUT> che creano i campi nei quali verranno immesse le
informazioni richieste.
Attributi di <INPUT> sono:
CHECKED che visualizza quale voce viene attivata per default tramite una casella o un pulsante di
opzione.
MAXLENGTH=n che indica il numero massimo di caratteri che il campo potrà contenere.
NAME=”…” che assegna un nome al campo.
SIZE=n che definisce la dimensione del campo in base al valore di n espresso in caratteri.
TYPE=”…” che indica il tipo di campo. I valori validi sono: TEXT, PASSWORD, CHECKBOX,
RADIO, BUTTON, SUBMIT, RESET, FILE, IMAGE e HIDDEN.
VALUE=”…” che indica il valore del campo o l’etichetta da visualizzare per BUTTON, SUBMIT e
RESET.
Si ricordi che per collegare tra di loro più pulsanti di opzione (RADIO) in modo che sia possibile
selezionarne uno soltanto, tali pulsanti devono avere lo stesso attributo NAME.
10.1 Elenchi di voci
Gli elenchi di voci sono elementi che contengono diverse voci tra le quali effettuare una selezione.
Un elenco di voci è definito dai marcatori <SELECT>…</SELECT>.
I possibili attributi sono:
MULTIPLE che indica un elenco dal quale è possibile effettuare contemporaneamente più di una
selezione.
NAME=”…” che assegna un nome al campo.
25
SIZE=n che determina l’ampiezza dell’elenco che verrà visualizzato. Il valore n corrisponde al
numero delle voci dell’elenco quando verrà aperto.
I marcatori <OPTION> definiscono le voci che appariranno nell’elenco.
Suoi attributi sono:
SELECTED che identifica quale opzione risulterà selezionata per default.
VALUE=”…” che indica il valore del campo.
10.2 Il marcatore <TEXTAREA>
Le aree di testo, definite dalle coppie di marcatori <TEXTAREA>…</TEXTAREA>, consentono
di creare in un modulo una sezione nella quale il lettore potrà inserire i propri commenti o altri tipi
di informazioni.
Attributi di <TEXTAREA> sono:
COLS=n che definisce la larghezza del campo testo. Il valore n corrisponde al numero di colonne.
NAME=”…” che indica il nome del campo.
ROWS=n che indica il numero massimo di righe di testo ammesse nel campo.
26
11 Suddivisione in aree indipendenti (frames)
Le frame (o aree indipendenti) consentono di suddividere la pagina in vari pannelli, ognuno dei
quali contiene un proprio documento HTML e permette, così di visualizzare in una sola volta più
documenti.
La creazione di una pagina suddivisa in pannelli autonomi richiede un’attenta pianificazione. Si
deve decidere la posizione delle frame e assegnare a queste un nome identificativo; poi è necessario
definire quali e quanti elementi dovranno essere inseriti nelle frame e quale pannello sarà destinato
a contenere il corpo principale della pagina. Un’attenta pianificazione di queste procedure iniziali
aiuterà sensibilmente la fase di sviluppo del contenuto della pagina e la creazione dei collegamenti
fra le varie frame.
Dopo aver creato e sviluppato il contenuto dei vari documenti HTML relativi alle frame, si può
creare il documento finale suddiviso in frame. Questo tipo di documento (documento strutturato)
indica al browser quali frame sono disponibili e dove dovranno essere visualizzate segnalando
inoltre gli elementi da visualizzare nelle finestre dei browser che non gestiscono le frame.
Il documento strutturato non deve contenere i marcatori <!DOCTYPE> e <BODY>.
La coppia di marcatori <FRAMESET>…</FRAMESET> definisce un documento suddiviso in
frame. La coppia di marcatori <NOFRAMES>…</NOFRAMES> definisce l’area del documento che
sarà visibile ai browser che non sono in grado di visualizzare le frame.
Attributi di <FRAMESET> sono i seguenti:
BORDER=n che definisce lo spessore del bordo espresso in pixel di tutte le frame.
BORDERCOLOR=”#rrggbb” o BORDERCOLOR=”nome_colore” che definisce il colore del
bordo delle frame.
COLS=”n, n, …” che definisce la dimensione delle colonne espressa in pixel, percentuale o parte
rimanente (“*”).
FRAMEBORDER=n che specifica la presenza (“1”) o meno (“0”) del bordo delle frame.
FRAMESPACING=n che definisce lo spazio bianco da lasciare fra le frame espresso in pixel.
ROWS=”n, n, …” che definisce la dimensione delle righe espressa in pixel, in percentuale o in
termini di spazio rimanente.
11.1 Impostazione delle frame
La costruzione delle frame avviene inserendo marcatori <FRAME> all’interno della coppia
<FRAMESET>.
Attributi di <FRAME> sono:
BORDER=n che specifica lo spessore del bordo della frame espresso in pixel.
FRAMEBORDER=n che definisce la presenza (n=1) o meno (n=0) del bordo della frame.
27
NAME=”…” che assegna un nome alla frame.
NORESIZE che impedisce il ridimensionamento della frame.
SCROLLING=”…” che definisce se il contenuto della frame potrà o meno scorrere. I valori
ammissibili sono YES, NO e AUTO. L’uso del valore YES richiede la visualizzazione di barre di
scorrimento mentre il valore NO non consente lo scorrimento del contenuto della frame.
SCR=”url” che identifica il file sorgente che dovrà essere visualizzato nella frame.
11.2 Impostazione dei collegamenti
Ogni collegamento di una pagina Web suddivisa in frame deve prevedere la presenza dell’attributo
complementare TARGET=”…” del marcatore <A>, che punta alla frame di destinazione del
collegamento.
Esempio:
<A HREF=”viaggio.html” TARGET=”contenuto”>Diario di bordo</A>
Con l’attributo TARGET si possono utilizzare alcuni nomi riservati che identificano particolari
finestre.
_top è un nome di destinazione che attiva nella stessa finestra del browser un ambiente senza
gestione delle frame.
_window fa sì che il collegamento apra una nuova finestra.
Oltre ad essere utilizzato come attributo del marcatore <A>, TARGET viene riconosciuto da
qualsiasi altro tipo di collegamento come quelli di un’immagine cliccabile o in un modulo.
28
12 Marcatori applet e incorporamento di oggetti
Il trattamento di formati di dati non supportati in maniera nativa dai browser, generalmente avviene
tramite l’avvio di programmi esterni. La coppia di marcatori <OBJECT>…</OBIECT> consente
all’autore di specificare se i dati debbano essere trattati tramite applicazioni esterne oppure da altri
programmi specifici per la visualizzazione all’interno dello stesso browser.
I tipi di informazioni che devono essere specificate si possono raggruppare in tre categorie: la prima
contiene le informazioni sull’implementazione dell’oggetto incorporato, la seconda i dati da
visualizzare, la terza tutti i valori richiesti dall’oggetto durante il suo processo.
Gli attributi del marcatore <OBJECT> sono:
CLASSID=”url” usato per specificare l’indirizzo dove è memorizzata l’implementazione di un
oggetto.
CODEBASE=”url” definisce il percorso di riferimento da utilizzare per costruire gli indirizzi
relativi specificati dagli attributi CLASSID, DATA e ARCHIVE.
CODETYPE=”…” specifica la tipologia dei dati ottenuti all’atto dello scaricamento dell’oggetto
specificato dall’attributo CLASSID.
DATA=”url” usato per definire l’indirizzo dove sono memorizzati i dati dell’oggetto.
TYPE=”…” specifica il tipo del contenuto per i dati indicati dall’attributo DATA.
ARCHIVE=”url list” consente di indicare una lista, separata da spazi di URL di archivi contenenti
risorse di interesse per l’oggetto che si sta elaborando. Il caricamento preventivo di interi archivi
permette di ridurre i tempi di realizzazione di un oggetto nel momento in cui questo verrà reso dallo
user agent.
DECLARE quando presente, dichiara l’oggetto senza attivarlo.
STANDBY=”…” permette di inserire un messaggio che il browser può visualizzare durante il
tempo che impiega a visualizzare l’oggetto in fase di elaborazione.
Esempio.
<OBJECT CLASSID=http://www.ora.it/calendar>
Calendario del mese corrente
</OBJECT>
Il testo inserito all’interno della coppia di marcatori viene visualizzato nel caso il browser non sia in
grado di processare l’oggetto indicato e renderlo a video.
<OBJECT CLASSID=http://www.ora.it/calendar>
<OBJECT DATA=”calendar.gif” TYPE=”image/gif”>
Calendario del mese corrente
</OBJECT>
</OBJECT>
L’esempio mostra come nel caso in cui il browser non possa realizzare l’oggetto, si possa avvertirlo
di visualizzare in cambio un’immagine, e qualora anche questo non sia possibile il testo.
29
12.1 Il marcatore <PARAM>
Attraverso il marcatore <PARAM> è possibile specificare l’insieme di valori richiesti da un oggetto
durante la sua fase di elaborazione. Suoi attributi sono:
NAME=”…” che definisce il nome di un parametro conosciuto dall’oggetto e necessario durante la
sua fase di elaborazione.
VALUE=”…” che specifica il valore del parametro indicato dall’attributo NAME.
VALUETYPE=”DATA | REF | OBJECT” che indica il tipo dell’attributo VALUE.
DATA è il valore di default e implica che il valore specificato da VALUE sia valutato e passato
all’oggetto come tipo stringa.
REF indica che quanto specificato da VALUE è una risorsa remota definita da un URL, dove sono
memorizzate le informazioni necessarie all’oggetto.
OBJECT implica che il valore specificato da VALUE sia un identificatore che si riferisce ad un
oggetto altrove definito all’interno dello stesso documento.
TYPE=”…” che specifica il tipo del contenuto della risorsa designata dall’attributo VALUE nel
caso in cui VALUETYPE sia REF.
Esempio.
<OBJECT CLASSID=http://www.ora.it/calendar>
<PARAM NAME=”height” VALUE=”100” VALUETYPE=”DATA”>
<PARAM NAME=”width” VALUE=”100” VALUETYPE=”DATA”>
<PARAM NAME=”month” VALUE=”3” VALUETYPE=”DATA”>
<OBJECT DATA=”calendar.gif” TYPE=”image/gif”>
Calendario del mese corrente
</OBJECT>
</OBJECT>
12.2 La coppia di marcatori <APPLET>…</APPLET>
La coppia di marcatori <APPLET>…</APPLET>, usata per gestire l’inclusione all’interno di un
documento HTML di programmi JAVA è stato dichiarato superato dalle specifiche HTML 4 a
favore dei marcatori <OBJECT>…</OBJECT>.
<APPLET> permette la definizione di tutta una serie di attributi, tra cui:
CODEBASE=”url” che specifica l’indirizzo Internet di base sotto cui si possono trovare tutti gli
elementi dell’applet da includere. In sua assenza il default è lo stesso indirizzo da cui viene caricata
la pagina HTML.
CODE=”…” che specifica il nome del file .class contenente il codice compilato.
NAME=”…” che indica il nome per l’applet in esecuzione, in modo da consentire l’interazione tra
gli applet presenti in una stessa pagina.
ARCHIVE=”…” che specifica una lista di URL di classi JAVA (separati da virgole) da scaricare
preventivamente.
OBJECT=”…” che indica una risorsa contenente una rappresentazione sequenziale dello stato di un
applet.
30
WIDTH=n che specifica l’iniziale larghezza dell’area di visualizzazione dell’applet, con esclusione
delle eventuali finestre che l’applet stessa può creare.
HEIGHT=n che, analogamente al precedente, definisce l’altezza dell’area di visualizzazione.
31
13 Fogli di stile
L’HTML soffre di notevoli limitazioni riguardo alla presentazione dei dati in un formato gradevole
ed allo stesso tempo efficace. Nell’ambito scientifico in cui il Web ha visto la prima espansione, gli
autori erano maggiormente tesi alla validità del contenuto, piuttosto che all’aspetto delle loro
pagine.
Con l’esplosione del Web, le limitazioni stilistiche dell’HTML hanno portato ad un uso non
ottimale dello stesso linguaggio. Per sopperire alla carenza di strutture di formattazione sono nate
espansioni dello stesso linguaggio create ad hoc per un determinato browser. Gli autori sono stati
costretti ad un uso eccessivo delle immagini per sopperire a carenze stilistiche della formattazione
del testo e, per il controllo delle parti volutamente bianche di una pagina, a sfruttare pesantemente le
tabelle per definire il layout di una pagina, o ancora ad utilizzare programmi piuttosto che l’HTML.
Gli style sheets (fogli di stile) risolvono in parte i problemi ed offrono maggiori possibilità per
quanto riguarda la presentazione di una pagina. Utilizzando gli style sheets diventa infatti facile
controllare lo spazio tra le righe di testo, l’allineamento dei paragrafi, i colori del testo e dello
sfondo, la dimensione e lo stile delle fonti e molti altri importanti dettagli.
Le informazioni di stile possono essere indicate per specifici elementi o per gruppi di elementi, sia
all’interno del documento HTML che le vedrà applicate, sia in uno style sheet separato dal
documento. La modalità con cui avviene l’associazione tra uno style sheet ed un documento è
indipendente dal linguaggio utilizzato per la stesura dello style sheet stesso.
13.1 Posizionamento variabile delle informazioni di stile
È possibile posizionare gli style sheets in file separati dai documenti che li utilizzano, per consentire
una loro condivisione tra più documenti.
Può però talvolta essere utile includere le informazioni di stile entro il documento a cui verranno
applicate, sia raggruppandole all’inizio del documento, sia definendole come attributi degli elementi
nidificati entro il corpo del documento.
13.2 Indipendenza da uno specifico linguaggio
È possibile utilizzare diversi linguaggi per la definizione delle istruzioni degli style sheets.
13.3 Uso contemporaneo di più style sheets per uno stesso documento (cascading)
Alcuni linguaggi per la stesura degli style sheets, come ad esempio CSSL (Cascading Style Sheets
Language), permettono l’unione di informazioni stilistiche provenienti da diverse sorgenti. Le
informazioni così ottenute vengono considerate in base all’ordine sequenziale in cui avviene
l’unione.
13.4 Dipendenza dal media utilizzato per la visualizzazione
La visualizzazione di un documento redatto con l’HTML 4 può avvenire con media differenti:
visual browser, sintetizzatori vocali per utenti non vedenti… Nei singoli marcatori, infatti, possono
essere usati particolari parametri ed accorgimenti utili a rendere un documento comunque adatto
alla visualizzazione in senso lato ed alla stampa.
Lo stesso invece non avviene per gli style sheets, adatti di volta in volta a specifici media.
È quindi utile in ogni style sheet indicare la categoria di media con cui è compatibile. Browser che
usano media non adatti evitano così l’uso del foglio stesso. Una soluzione a questa limitazione è
32
l’utilizzo di style sheets alternativi adatti a specifici media, la cui disponibilità dovrebbe essere
evidenziata dal browser e di cui dovrebbe esser resa possibile la selezione.
13.5 Performances
L’utilizzo di style sheets per la formattazione di un documento può determinare un rallentamento
nella visualizzazione del documento stesso, soprattutto quando lo style sheet è esterno o le regole
di stile sono elencate nell’intestazione di pagina.
Per ovviare a questo inconveniente è stato reso possibile inserire le regole di stile entro i vari
marcatori sparsi nel documento con l’attributo STYLE. Tuttavia questa scelta porta altri svantaggi
come ad esempio la perdita dei vantaggi della condivisione tra diversi documenti.
13.6 Default style sheets language
Le regole di stile possono essere redatte utilizzando diversi linguaggi. Il linguaggio maggiormente
utilizzato è il CSSL, Cascading Style Sheets Language, o semplicemente CSS, disponibile in
diverse versioni. Qui si prenderà in considerazione la prima o CSS1.
È possibile dichiarare il linguaggio utilizzato per gli style sheets tramite il marcatore <META>
nell’intestazione del documento.
Esempio.
<META HTTP-EQUIV=”Content-Style-Type” CONTENT=”text/css”>
Se la dichiarazione viene omessa, il linguaggio di default è comunque il CSS.
13.7 Style sheets interni
Le regole di stile in un documento, siano esse elencate entro l’intestazione, oppure definite di volta
in volta per i singoli marcatori, devono rispettare il linguaggio indicato come default, e ne devono
quindi seguire la sintassi.
Le indicazioni di stile del linguaggio CSS hanno la forma: “name: value” e sono separate le une
dalle altre da “;”.
Il marcatore <STYLE> è utile per dichiarare le informazioni di stile entro l’intestazione di un
documento. Suoi attributi sono:
TYPE=”…” che specifica il linguaggio di style sheets, che così specificato sostituisce
eventualmente quello dichiarato come default.
MEDIA=”…” che indica il medium di destinazione del documento nell’intenzioni dell’autore. Se il
parametro MEDIA viene omesso, il valore assegnato di default è screen.
Un unico marcatore <STYLE> può contenere più regole di stile, e più marcatori <STYLE> possono
susseguirsi entro l’intestazione del documento.
Esempio.
<HEAD>
<STYLE TYPE=”text/css”>
H1 {border-width: 1; border: solid; border-color: red; text-align: center}
</STYLE>
</HEAD>
33
I browser che non riconoscono gli style sheets possono o non considerare il contenuto della coppia
di marcatori <STYLE> o visualizzarlo come testo. Alcuni linguaggi di style sheets, come il CSS,
usano una particolare sintassi per nascondere il contenuto ai browser che non lo supportano.
Esempio.
<HEAD>
<STYLE TYPE=”text/css”>
<!-H1 {border-width: 1; border: solid; border-color: red; text-align: center}
-->
</STYLE>
</HEAD>
All’interno di una coppia di marcatori <STYLE> possono essere dichiarate le regole di stile per
tutte le ricorrenze di uno specifico elemento, oppure per tutte le ricorrenze di un elemento
appartenente ad una specifica classe (attributo CLASS) o ancora per un’unica ricorrenza di un
elemento (attributo ID).
Esempio.
<HEAD>
<STYLE TYPE=”text/css”>
H1.primaclasse {border-width: 1; border: solid; border-color: red; text-align: center}
#primoid {border-width: 1; border: solid; border-color: blue; text-align: center}
</STYLE>
</HEAD>
<BODY>
<H1 CLASS=”primaclasse”>Titolo bordato di rosso e centrato</H1>
<H1 ID=”primoid”>Titolo bordato di rosso e centrato</H1>
<H1>Titolo standard</H1>
</BODY>
Utilizzando i marcatori <DIV> e <SPAN> associati ai marcatori <STYLE> è possibile definire lo
stile anche per elementi non originariamente definiti dal linguaggio HTML.
13.8 Style sheets esterni
L’uso degli style sheets esterni piuttosto che della coppia di marcatori <STYLE> presenta numerosi
vantaggi, tra cui la condivisione dello stesso style sheet tra più documenti, la possibilità di apportare
modifiche di stile senza modificare effettivamente il sorgente della pagina e il retrieval selettivo da
parte dello user agent dello style sheet appositamente definito per il media utilizzato.
Ad un unico documento possono essere associati più style sheets, la cui interazione è controllata da
regole dipendenti dal linguaggio di stile utilizzato.
Gli style sheets associati ad un documento possono essere mutuamente esclusivi, in modo tale che
l’utente possa selezionare quello più consono alle sue esigenze (alternate style sheets). Agli
alternate style sheets è possibile associare un persistent style sheet che viene comunque applicato al
documento in aggiunta all’alternate style sheet selezionato.
Per associare uno style sheet ad un documento occorre utilizzare il marcatore <LINK>, la cui
sintassi è:
<LINK HREF=”miostyle.css” REL=”stylesheet” TYPE=”text/css”>
34
Il valore attribuito al parametro HREF=”url” rappresenta l’indirizzo del file di stile, mentre TYPE
indica il linguaggio di stile utilizzato per le informazioni di stile entro lo style sheet indicato da
HREF.
Il parametro REL assume il valore REL=”stylesheet” se lo style sheet è di tipo persistent o lo si
vuole indicare come default, mentre REL=”alternate stylesheet” se lo style sheet è di tipo alternate.
Diversi style sheets sono distinti tramite un diverso valore dell’attributo TITLE associabile al
marcatore <LINK>.
Se nella sintassi del marcatore <LINK> si ha REL=”stylesheet” e TITLE non viene definito, lo
style sheet è di tipo persistent; viceversa, se a parità del valore attribuito a REL, viene definito il
parametro TITLE, lo style sheet diventa il default o preferred. Allo stesso modo per specificare che
si tratta di un alternate style sheets, occorre indicare, oltre a REL=”alternate stylesheet”, anche un
TITLE per il marcatore <LINK>.
Per associare ad un unico documento più style sheets occorre indicare nell’intestazione del
documento una sequenza di marcatori <LINK> e/o <STYLE>. Le regole di interazione tra le
informazioni di stile racchiuse in ogni style sheet vengono dettate dall’ordine in cui appaiono entro
l’intestazione del documento.
13.9 Media descriptors
Sia al marcatore <LINK> che a <STYLE> è possibile associare l’attributo MEDIA per la
definizione delle informazioni di stile inserite entro lo style sheet. Indicando per uno stesso
documento più style sheet applicabili a differenti media, lo user agent può selezionare ed utilizzare
solo quello adatto al media corrente.
I seguenti valori possono essere assegnati all’attributo MEDIA:
SCREEN che indica un documento redatto ai fini della visualizzazione tramite schermo, ma
solitamente ben si adatta alla stampa ed alla proiezione. È il valore di default.
TTY che indica un documento redatto ai fini della visualizzazione con una fonte fissa di caratteri,
come ad esempio teletypes o terminali o schermi con limitate capacità di visualizzazione.
TV che indica un documento redatto ai fini della visualizzazione con supporti di tipo televisivo,
caratterizzati da bassa risoluzione, un numero limitato di colori e di funzioni di scorrimento.
PROJECTION che indica un documento redatto ai fini della proiezione.
HANDHELD che indica un documento redatto per supporti caratterizzati da schermi piccoli,
monocromatici e con grafica limitata, connessi a bassa velocità.
PRINT che indica un documento redatto ai fini della stampa o della visualizzazione in modalità
anteprima di stampa.
BRAILLE che indica un documento redatto ai fini della lettura tramite device di tipo braille tactile.
AURAL che indica un documento redatto ai fini dell’ascolto tramite sintetizzatori vocali.
ALL che indica un documento utilizzabile da tutti i media.
35
14 Cascading Style Sheets Level 1
Le informazioni di stile del linguaggio CSS1 presentano una sintassi del tipo:
H1 {color: blue}
Dove H1 rappresenta il selector, ovvero l’elemento o gli elementi a cui verrà applicata la regola di
stile, mentre color: blue, detta declaration, è la dichiarazione di stile, composta di due parti:
property (color) e value (blue).
L’attributo ID=”nome” assegna un nome al marcatore a cui è associato. Il nome, che deve essere
unico all’interno di un documento, può essere usato per definire entro lo style sheet lo stile del
particolare marcatore. Entro lo style sheet il selector è in questo caso indicato dal nome del
marcatore unito tramite il carattere “#” al valore dell’attributo ID.
Esempio.
H1#verde {border-width: 1; border: solid; border-color: green; text-align: center}
Se il selector entro la dichiarazione di stile non comprende il nome dell’elemento, ma è del tipo:
#verde {border-width: 1; border: solid; border-color: green; text-align: center}
lo stile così definito può essere applicato ad un qualsiasi elemento entro il documento, ad esempio
ad un paragrafo indicato dal marcatore <P ID=verde>.
Il parametro CLASS=”cdata-list” dichiara l’appartenenza del marcatore a cui viene associato ad
una o più classi costituite da insiemi di marcatori a cui si vogliono attribuire le stesse caratteristiche
di formattazione tramite gli style sheets.
Esempio.
<HTML>
<HEAD>
<STYLE TYPE=”text/css”>
H1.verde {color: green}
</STYLE>
</HEAD>
<BODY>
<H1 CLASS=verde> Titolo di primo livello di color verde </H1>
</BODY>
</HTML>
Per indicare le regole di stile di una classe a cui possono appartenere elementi diversi, la sintassi
semplificata è del tipo “.verde”. Alla CLASS=verde possono pertanto appartenere marcatori di tipo
diverso.
Per specificare uno stile particolare per un elemento quando questo è nidificato entro un altro
elemento e solo in tale precisa situazione, è possibile utilizzare una particolare sintassi per la
dichiarazione di stile. Ad esempio, se si vuole indicare il colore rosso per il testo incluso in un
elemento EM solo quando questo è nidificato in un elemento H2, la regola di stile diventa:
H2 EM {color: red}
Quando occorre applicare le stesse regole di stile a diversi elementi se nidificati in altri elementi, è
possibile raggrupparli in un’unica informazione di stile del tipo:
H1 EM, H2 EM, DIV CODE {color: blue}
14.1 Commenti
Entro uno style sheet è possibile inserire commenti racchiusi tra i caratteri /* … */.
36
14.2 L’ordine di cascata
Gli style sheets possono essere interni al sorgente HTML, o esterni in file a sé stanti. Entro uno
style sheet esterno è inoltre possibile importare altri style sheets instaurando così una vera e propria
cascata.
L’elemento che permette l’impostazione di uno style sheet in un altro è @import url. Entro uno
style sheet tutte le dichiarazioni @import devono precedere le regole di stile dello style sheet.
Se entro uno o più style sheets vengono definite regole di stile differenti per uno stesso elemento,
possono sorgere dei conflitti che vengono automaticamente risolti in base all’ordine con cui gli style
sheets vengono associati al documento.
Le regole di stile proprie dello style sheet corrente sovrascrivono quelle degli style sheets importati
e tra questi gli ultimi importati sovrascrivono i precedenti.
14.3 Il modello di formattazione
Per il linguaggio CSS1 ogni elemento ha forma rettangolare ed è racchiuso in una serie di scatole
anch’esse rettangolari.
L’insieme delle scatole che circondano un elemento ha nel nucleo il contenuto dell’elemento,
mentre attorno dall’interno verso l’esterno possono essere individuate delle aree denominate
padding, border e margin.
Il background del padding è lo stesso definito per l’elemento. Il colore e lo stile del bordo viene
indicato dalla proprietà border dell’elemento. Il margine è sempre trasparente.
14.4 I font di caratteri
Le proprietà utili a definire i font sono:
font-family che può assumere valori alternativi, separati fra loro da virgole. Indicare valori
alternativi permette un controllo sulla visualizzazione anche nell’ipotesi che alcuni font indicati non
siano disponibili sul sistema dell’utente o non siano conosciute con lo stesso nome.
Nell’indicare il valore della proprietà font-family è possibile indicare un singolo font o una
generica famiglia di font: serif, sans-serif, cursive, fantasy, monospace.
font-style che può assumere i valori normal o italic.
font-variant che può assumere i valori normal e small-caps (maiuscoletto).
font-weight che può assumere i valori: normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600,
700, 800, 900. I valori da 100 a 900 indicano un “peso” sempre maggiore per il testo: 400
corrisponde a normal, mentre 700 corrisponde a bold. I valori bolder e lighter indicano un peso
relativo a quello eventualmente ereditato dagli elementi contenenti l’elemento per cui viene definità
la proprietà.
font-size che può essere espressa come absolute-size, relative-size, length, percentage.
Possibili valori assunti da absolute-size sono xx-small, x-small, small, medium, large, x-large, xxlarge. Solitamente a video i valori adiacenti dovrebbero essere caratterizzati da un fattore di scala di
1,5, cioè se la font-size definita medium è di 10pt, la large è di 15pt.
37
L’espressione relative-size è interpretata dallo user agent relativamente alla dimensione del font
dell’elemento parent. Possibili valori sono larger e smaller.
L’espressione length può assumere un qualsiasi valore in punti tipografici (pt), in pixel (px), in
centimetri, in millimetri, ecc.
L’espressione percentage assume invece un valore percentuale riferito alla dimensione
eventualmente ereditata da un elemento parent o alla dimensione di default del testo.
font permette di definire tutte le proprietà precedenti in un’unica regola di stile, omettendo i nomi
delle singole proprietà.
14.5 Il colore del testo e dello sfondo
Il colore del testo contenuto in un elemento è indicato come color o foreground color, in
contrapposizione con il background color o colore di sfondo.
Lo sfondo può anche essere rappresentato da un’immagine ripetuta un numero sufficiente di volte
da riempire l’area occupata dall’elemento.
Ogni colore può essere rappresentato da un nome o dal corrispondente valore del codice RGB,
ovvero dal valore esadecimale dei colori rosso, verde e blu che compongono il colore stesso.
Esempio.
H1 {color: #ff0000}
H1 {color: rgb(255,0,0)}
H1 {color: rgb(100%, 0%, 0%)}
La proprietà color definisce il colore del testo di un elemento. Il colore di sfondo dell’area occupata
da un elemento è definita dalla proprietà background-color.
La proprietà background-image permette di indicare un file immagine che, ripetuto un numero
sufficiente di volte, andrà a riempire lo sfondo dell’elemento. Può essere utile indicare comunque
un colore di sfondo che verrà utilizzato nel caso in cui l’immagine non fosse disponibile.
Tramite la proprietà background-repeat è possibile far sì che la stessa immagine venga ripetuta
solo in senso orizzontale o verticale oppure non venga ripetuta affatto. Possibili valori di
background-repeat sono: repeat (default), repeat-x (determina la ripetizione solo in senso
orizzontale) repeat-y (ripetizione in senso verticale) e no-repeat (l’immagine compare una sola
volta).
La proprietà background-attachment può assumere i valori scroll e fixed. Se è definito il valore
scroll (valore di default) lo sfondo scorre assieme al testo, mentre se è definito il valore fixed, lo
scorrimento del testo non implica lo scorrimento dello sfondo che rimane invece fisso rispetto allo
schermo.
Se è stata definita un’immagine come sfondo di un elemento, la proprietà background-position ne
specifica la posizione iniziale. Il suo valore può essere espresso come percentuale, lunghezza o
tramite parola chiave (top, bottom, left, center, right).
14.6 Il testo
La proprietà word-spacing permette di ridefinire lo spazio tra le parole. Il valore associato viene
aggiunto a quello di default e può essere negativo.
38
Con la proprietà letter-spacing si può variare il normale spazio visualizzato tra le lettere di ogni
parola.
La proprietà text-decoration può assumere i seguenti valori: underline, overline, line-through o
blink.
L’allineamento di un elemento rispetto agli altri elementi circostanti viene espresso con la proprietà
vertical-align. I valori che può assumere sono:
baseline – allinea la linea base dell’elemento con quella dell’elemento parent.
middle – allinea il centro della dimensione verticale dell’elemento con la base della linea che lo
contiene.
sub – l’elemento viene reso in una posizione di pedice rispetto all’elemento precedente.
super – l’elemento viene reso in una posizione di apice rispetto all’elemento precedente.
text-top – la sommità dell’elemento è allineata con quella del più alto elemento di testo della linea
che lo contiene.
text-bottom – la base dell’elemento è allineata con quella dell’elemento di testo posizionato più in
basso, della linea che lo contiene.
top – la sommità dell’elemento è allineata con la sommità del più alto elemento della linea che lo
contiene (non necessariamente testo come per text-top).
bottom – la base dell’elemento è allineata con la base dell’elemento posizionato più in basso della
linea che lo contiene (non necessariamente testo come per text-bottom).
La proprietà text-transform consente di formattare il testo in capitalize (tutte le iniziali maiuscole),
uppercase (tutto il testo in maiuscolo), lowercase (tutto il testo in minuscolo). Il valore none
annulla invece ogni valore ereditato da un eventuale elemento parent.
L’allineamento orizzontale del testo viene definito dal valore assunto dalla proprietà text-align, che
può essere left, right, center e justify.
Per definire il rientro (identazione) della prima riga di un blocco di testo rispetto alle rimanenti,
occorre definire la proprietà text-indent, il cui valore, espresso in lunghezza o percentuale, può
anche essere negativo.
Tutti gli elementi hanno una proprietà detta line-height che definisce l’altezza complessiva di una
linea di testo. La differenza tra la dimensione del font e l’altezza della linea è detta leading, halfleading è la metà della differenza posta sopra e sotto il testo.
L’altezza della linea può essere espressa da un valore numerico o percentuale. Se il valore è
numerico, l’altezza della riga è data dal prodotto di tale valore e la font-size.
14.7 Box
Il presente paragrafo fa riferimento al modello di formattazione.
Le proprietà del margine sono: margin-top, margin-right, margin-bottom, margin-left e margin.
39
Le proprietà indicano le distanze dei diversi margini dell’elemento da quelli circostanti. Le distanze
possono essere espresse come valore numerico o percentuale e possono assumere valore negativo
determinando la sovrapposizione degli elementi.
La proprietà margin permette di indicare i valori dei quattro margini, nell’ordine superiore, destro,
inferiore, sinistro, con un’unica regola di stile. Se a margin è associato un solo valore, questo vale
per tutti e quattro. Se sono associati due o tre valori, quello o quelli mancanti vengono resi uguali ai
margini opposti.
Le proprietà del padding, cioè dell’area tra il bordo ed il contenuto dell’elemento, sono: paddingtop, padding-right, padding-bottom, padding-left e padding. Rappresentano la distanza del
contenuto dell’elemento dai bordi superiore, destro, inferiore e sinistro, e possono essere espresse
tramite lunghezze o valori percentuali. Non possono assumere valori negativi. La proprietà padding
permette di indicare i quattro valori con un’unica regola di stile in modo analogo a margin.
Per definire lo spessore del bordo occorre utilizzare le proprietà: border-top-width, border-rightwidth, border-bottom-width, border-left-width e border-width. Il valore di queste proprietà può
essere espresso tramite le parole chiave thin, medium, thick, o lunghezze. La proprietà borderwidth permette di definire lo spessore dei quattro lati del bordo di un elemento con un’unica regola
di stile in modo analogo a margin.
Altra proprietà del bordo di un elemento è border-color. Il colore del bordo può essere espresso
tramite il suo nome o il suo codice esadecimale.
La definizione dello stile del bordo avviene tramite border-style che può assumere da uno a quattro
valori. I possibili valori sono:
none – non viene disegnato alcun bordo
dotted – il bordo è una linea punteggiata
dashed – il bordo è una linea tratteggiata
solid – il bordo è una linea continua
double – il bordo è una linea doppia che occupa tutta l’ampiezza indicata da border-width
groove – il bordo viene visualizzato come un solco tridimensionale in cui il rilievo viene reso dal
colore indicato da border-color opportunamente ombreggiato
ridge – il bordo viene visualizzato tridimensionalmente come un rilievo emergente verso l’esterno,
reso dal colore indicato da border-color opportunamente ombreggiato
inset – il bordo assume un aspetto tridimensionale ombreggiato verso l’interno
outset – il bordo assume un aspetto tridimensionale ombreggiato verso l’esterno.
Se a border-style è associato un solo valore, questo vale per tutti e quattro i bordi, se i valori indicati
sono due o tre, i valori mancanti vengono resi uguali ai valori opposti.
40
Per definire con un’unica regola di stile le caratteristiche di uno dei quattro bordi, possono essere
usate le proprietà border-top, border-right, border-bottom e border-left.
Esempio.
H1 {border-top: medium solid yellow}
Per semplificare ulteriormente la definizione del bordo di un elemento, racchiudendo in un’unica
regola di stile le caratteristiche finora viste, è possibile definire la proprietà border.
Esempio.
H1 {border: medium ridge gray}
Le proprietà width e height per un elemento ridefiniscono le dimensioni dello stesso in fase di
formattazione. I valori loro assegnati sovrascrivono le dimensioni originarie e possono essere
espresse come lunghezze o percentuali.
Per variare la posizione di un elemento orizzontalmente e far sì che il testo lo circondi, può essere
definita la proprietà float, che può assumere i valori left, right e none.
La proprietà clear specifica se un elemento accetta al suo fianco la presenza di elementi floating.
Più precisamente, il valore ad essa associato indica da quale lato non viene accettata la presenza di
elementi di questo tipo. I valori possono essere: none, left, right, both.
14.8 Proprietà di classificazione
La proprietà display, applicabile a tutti gli elementi, classifica gli elementi in categorie piuttosto
che definire per essi particolari caratteristiche di stile, ed indica se e come l’elemento cui è associata
viene visualizzato. Possibili valori sono:
block – l’elemento è contenuto in una sua propria box, solitamente separata dal resto del documento
da line-break
inline – indica che l’elemento è compreso nella stessa linea dell’elemento precedente. Il box
dell’elemento viene ridimensionato in base alla dimensione del contenuto
list-item – ha un significato simile a block ed è tipico degli elementi delle liste
none – l’elemento non viene visualizzato.
14.9 Spazi bianchi
La proprietà white-space definisce come vengono resi gli spazi bianchi entro un elemento. Possibili
valori:
normal – è il valore di default. Più spazi bianchi vicini vengono ridotti ad un unico spazio
pre – gli spazi bianchi vengono resi come indicato nel sorgente (come per il marcatore <PRE>)
nowrap – inibisce gli a capo automatici entro l’elemento e questi devono essere indicati
direttamente col marcatore <BR>.
14.10 Liste
Tramite gli style sheets è possibile indicare un’immagine come punto elenco di liste puntate, oppure
utilizzare la proprietà list-style-type per indicare lo stile del punto. Possibili valori di list-style-type
41
sono: disc, circle, square, decimal, lower-roman, upper-roman, lower-alpha, upper-alpha e
none.
Con list-style-image è possibile indicare l’immagine che si vuole utilizzare come punto elenco di
una lista. Il valore di questa proprietà è l’URL dell’immagine stessa.
La posizione del punto elenco è definita da list-style-position, che può assumere i valori inside o
outside (valore di default).
Le tre proprietà possono essere definite con un’unica regola di stile tramite list-style.
Esempio.
LI {list-style: url(http://www.pluto.it/immagini/pallina.gif) disc inside}
14.11 Unità di misura negli style sheets
Le unità di misura relative supportate dagli style sheets sono em, ex e px.
Con la prima unità di misura si indica un fattore moltiplicativo per l’altezza del font dell’elemento
(definito da font-size).
1ex indica il fattore 1 moltiplicato per l’altezza della lettera “x” nella famiglia di font dell’elemento.
px indica misure espresse in pixel.
Le unità di misura assolute supportate sono in (inches), cm (centimetri), mm (millimetri), pt
(points, 1pt=1/72in), pc (picas, 1pc=12pt).
Infine le dimensioni associate alle proprietà negli style sheets possono essere espresse come
percentuali relative ad altri valori, tipicamente la font-size dell’elemento, ma comunque variabili
dipendentemente dalla proprietà stessa.
42
15 Cenni di HTML dinamico
L’HTML dinamico (DHTML) è una tecnologia che consente la modifica volante del contenuto di
un documento HTML, creando dei contenuti dinamici.
Al posto di caricare pagine successive dal server remoto, l’effetto desiderato è ottenuto definendo
oggetti su una singola pagina ed intervenendo sulle loro variazioni di stato al passare del tempo.
DHTML si basa sullo standard degli style sheets approvato dal W3 Consortium, tuttavia la resa nei
due maggiori browser, Netscape Communicator e Internet Explorer, è abbastanza differente.
DHTML presenta pagine con una ricca formattazione e permette di interagire con i contenuti senza
scaricare altri dati dal server. Una pagina, cioè, può reagire immediatamente alle azioni dell’utente
senza la necessità di una interazione con il server.
Grazie al supporto di Cascading Style Sheets, Dynamic HTML consente agli sviluppatori un
controllo preciso della formattazione, dei font e del layout, offrendo un modello a oggetti
estremamente avanzato per creare le pagine interattive.
15.1 Collezioni
Le collezioni DHTML sono insiemi di oggetti.
Al momento del caricamento della pagina HTML, il browser ordina i marcatori del linguaggio
raggruppandoli per collezioni, prima fra tutte quella denominata all. Questa prima collezione è una
sorta di indice generale, comprendendo al suo interno ogni elemento presente nel documento.
Ogni marcatore è inserito all’interno dell’appropriata collezione nell’ordine in cui questo arriva allo
user agent. Almeno quattro tra le collezioni possibili sono costruite simultaneamente: all,
stylesheets, imports e scripts.
Un metodo per referenziare un oggetto all’interno di una collezione è quello di riferirsi a questo in
base alla posizione che lo stesso assume nella specifica collezione. Ad esempio,
document.images[2] indica la terza immagine all’interno di un documento.
Un altro metodo è quello di assegnare all’elemento un’etichetta tramite l’attributo ID. Questo
secondo metodo è sicuramente maggiormente efficiente in termini di manutenzione della pagina.
15.2 Il modello a oggetti
Il modello ad oggetti del DHTML rende ogni elemento di un documento HTML programmabile
grazie all’utilizzo delle sue proprietà e dei metodi di variazione.
L’oggetto principale per ogni documento è sempre l’oggetto window, che corrisponde alla finestra
di visualizzazione del browser. Può essere sottinteso, essendo sempre presente.
Figlio di window è l’oggetto document.
L’oggetto tipo “collezione” si riferisce alla particolare raccolta di elementi di HTML presenti
all’interno del documento. Tale oggetto indica al browser che l’elemento si può trovare dentro
quella particolare collezione, e precisamente è quello di posizione n-esima o quello che ha per
etichetta quella definita dall’attributo ID.
43
L’oggetto style rende possibile l’accesso agli attributi definibili con gli style sheets, come fossero
proprietà di quel preciso oggetto.
15.3 La gestione degli eventi
Il browser all’atto del caricamento della pagina si crea una tabella contenente l’elenco di tutte le
funzioni presenti del documento, incrociandole con le particolari categorie di eventi che le possono
attivare. Fatto ciò si pone in attesa che si verifichi un evento tra quelli da lui schedati per attivare la
funzione appropriata, e quindi lo script associato scritto in un linguaggio di script riconosciuto, ad
esempio Javascript.
Uno script client-side, ovvero eseguito localmente e non dal server Web, è un programma, redatto
con svariati possibili linguaggi, che può accompagnare un documento HTML o essere compreso al
suo interno.
Gli scripts possono essere divisi in due categorie: quelli eseguiti solo una volta all’atto del
caricamento della pagina, e quelli invece attivati dal verificarsi di eventi particolari causati da vari
fattori, soprattutto dalle azioni intraprese dal navigatore. I primi compaiono all’interno del codice
HTML, racchiusi dal marcatori <SCRIPT>, i secondi devono la loro attivazione alla presenza
all’interno di altri marcatori di attributi di evento intrinseco (intrinsic event attributes), quali
ONLOAD, ONUNLOAD, ONCLICK, ONMOUSEOVER, ONMOUSEOUT, ecc.
44