HTML 4.01 XHTML 1.0 Il linguaggio dei siti web

Dott.Ing.Ivan Ferrazzi
HTML 4.01
XHTML 1.0
Il linguaggio dei siti web
Autore: Dott.Ing. Ivan Ferrazzi
V1.2 del 04/09/2013
(c)2013 Ferrazzi s.a.s.
http://www.ferrazzi.info
1/37
Dott.Ing.Ivan Ferrazzi
Copyright ©2013 Dott.Ing. Ivan Ferrazzi
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the
Free Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and no Back-Cover Texts.
2/37
Dott.Ing.Ivan Ferrazzi
Indice generale
Introduzione.........................................................................................................4
HTML....................................................................................................................5
XHTML..............................................................................................................6
I tag e gli attributi............................................................................................6
I commenti.......................................................................................................7
I tag di struttura..................................................................................................9
Il tag <html>...</html>..................................................................................9
Il tag <head>...</head>...............................................................................10
Il tag <body>...</body>...............................................................................10
Tipi di tag...........................................................................................................14
Tag a blocco...................................................................................................14
Tag in linea....................................................................................................14
Tag a blocco in linea......................................................................................14
Tag per i testi....................................................................................................15
I tag per definire i titoli..................................................................................15
Il tag per tipo , dimensione e colore del carattere.........................................15
Lo stile dei testi.............................................................................................16
I paragrafi......................................................................................................17
Interruzione di riga........................................................................................17
Il tag per definire i link (le ancore).................................................................18
Le linee divisorie............................................................................................18
Le tabelle...........................................................................................................20
Le immagini.......................................................................................................25
Gli elenchi..........................................................................................................27
Tag per moduli da compilare.............................................................................29
Il
Il
Il
Il
Il
tag
tag
tag
tag
tag
<input />................................................................................................................. 30
<lable>...</lable>................................................................................................... 31
<fieldset>...</fieldset>........................................................................................... 31
<textarea>...</textarea>.......................................................................................32
<select>...</select>............................................................................................... 32
I frame...............................................................................................................34
Validare il codice...............................................................................................36
3/37
Dott.Ing.Ivan Ferrazzi
Introduzione.
Internet è divenuto ormai il canale di comunicazione per eccellenza. L'Internet
ci permette di trasportare in tempo reale testi, voce e video da una parte
all'altra del mondo. Una parte dell'Internet che permette di trasferire
informazioni di ogni genere mediante il protocollo HTTP è il World Wide Web
(WWW).
Il software necessario sul nostro computer per poter usufruire di questo servizio
è il web browser, oppure comunemente chiamato browser. Alcunti dei browser
più conosciuti sono MS Internet Explorer, Mozilla Firefox, Opera.
Le informazioni vengono trasmesse attraverso il WWW utilizzando il linguaggio
HTML (Hyper Text Markup Language) che poi viene interpretato dal relativo
browser che ripropone i contenuto del giusto formato.
4/37
Dott.Ing.Ivan Ferrazzi
HTML
HTML (Hypertext Markup Language) è un linguaggio con il quale si può definire
l'aspetto delle pagine Web. Possiamo definire come disporre le immagini, come
formattare ed allineare il testo, effettuare collegamenti tra varie pagine Web,
ecc. utilizzando dei marcatori, chiamati “tag”. Quello che invece non possiamo
fare è modificare il flusso di elaborazione durante l'interpretazione, come viene
fatto con tutti i normali linguaggi di programmazione. Proprio per questo
motivo HTML non può essere classificato un linguaggio di programmazione.
Un file HTML può essere creato con un qualsiasi editor testuale che permetta il
salvataggio del solo testo, senza quindi aggiunta di formattazione. L'estensione
utilizzata per un file HTML è .html oppure .htm.
Un nome di dominio (es. www.miodominio.it) fa riferimento ad uno spazio Web
che deve contenere (parlando di sole pagine HTML) la pagina index.html,
oppure index.htm per funzionare in maniera corretta. Una volta creato il file
HTML viene quindi trasmesso o copiato sul server Web da dove può essere
scaricato utilizzando un browser (programma per la navigazione su Internet). E'
poi compito del browser interpretare il linguaggio HTML presente all'interno del
relativo file scaricato e visualizzare la pagina Web in maniera corretta. Lo
stesso codice può, infatti, essere interpretato differentemente da vari browser
(tipo Internet Explorer, oppure Mozilla Firefox) che può quindi portare a risultati
diversi. E' quindi consigliabile effettuare dei test su più browser prima di
pubblicare le pagine create.
L'organizzazione che si occupa di standardizzare il linguaggio HTML è il W3C,
ossia World Wide Web Consortium. L'ultima versione rilasciata da questa
organizzazione è HTML 4.01 ed è quella che tratteremo in questa
documentazione.
5/37
Dott.Ing.Ivan Ferrazzi
XHTML
XHTML (Extensible Hypertext Markup Language) è identico a HTML 4.01, infatti,
utilizza le definizioni di HTML come applicazione XML. Le direttive di XHTML
definiscono che:
●
●
●
●
●
●
●
●
i tag devono essere incorporati gli uni negli altri;
ogni tag deve essere chiuso, anche quelli privi di tag di chiusura;
tutti gli elementi (tag e attributi) vengono scritti in minuscolo;
i valori degli attributi vengono scritti tra virgolette (“);
gli attributi non possono essere minimizzati (checked=”checked” al posto
di un semplice checked);
l'attributo id dovrebbe sostituire l'attributo name;
ogni pagina deve avere un elemento root (<html>...</html>);
ogni pagina deve contenere i tag <!DOCTYPE>, <html>, <head>, <title>
e <body>, esempio:
<!DOCTYPE ...>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>...</title>
</head>
<body>
...
</body>
</html>
L'attributo xmlns all'interno del tag <html> può anche essere lasciato via
visto e considerato che viene aggiunto automaticamente durante
l'interpretazione del codice.
All'interno di questo manuale cercherò di indicare gli attributi possibili e le
rispettive proprietà CSS. Gli attributi vengono indicati anche se le direttive
specificano l'obbligo di utilizzo di stili piuttosto che gli attributi dove possibile.
I tag e gli attributi
Il linguaggio HTML è un insieme di marcatori (detti “tag”) che permettono di
definire la visualizzazione di una pagina Web. Un tag è di solito composto da
due parti: una apertura, il contenuto e una chiusura. L'apertura contiene un
nome che ne identifica la funzione e una serie di attributi che permettono di
modificare il comportamento della funzione stessa. Il tutto viene inserito
all'interno di parentesi uncinate. Il contenuto è di solito quello che viene
presentato direttamente all'interno della pagina Web. La chiusura, invece,
contiene uno slash “/” prima del nome che identifica la funzione del tag aperto.
Anche la chiusura viene inserita all'interno di parentesi uncinate.
6/37
Dott.Ing.Ivan Ferrazzi
<tag attributo attributo ...>contenuto</tag>
La struttura utilizzata per gli attributi è nome_attributo=”valore”. Un esempio
concreto potrebbe essere:
<span id=”saluto”>Benvenuti sul mio sito</font>
Non tutti i tag hanno una chiusura. In questo caso si parla di tag vuoti (empty
tags). Il tag per l'inserimento delle immagini, ad esempio, viene utilizzato come
segue
<img src=”immagine.gif” />
La chiusura in questione avviene all'interno dello stesso tag di apertura.
I tag possono essere annidati l'uno dentro l'altro, ma è importante chiudere i
tag partendo dall'ultimo aperto.
Esempio:
<TAG1 attributo>
contenuto1
<TAG2 attributo>
contenuto2
</TAG2>
</TAG1>
Dall'esempio visualizzato diventa chiara anche l'importanza dell'indentazione
del codice per renderlo più leggibile. Più spazi ed invii consecutivi vengono
interpretati da un browser come un unico spazio.
I seguenti attributi non verranno descritti per i vari tag perché disponibili per un
qualsiasi elemento:
class
id
style
title
permette di definire una o più classi di stile per l'elemento in
questione
permette di specificare un identificatore univoco
permette di specificare le proprietà CSS per l'elemento
permette di aggiungere un testo all'elemento visualizzato come
etichetti nel momento in cui ci si trova sopra con il puntatore del
mouse
I commenti
Per aumentare ulteriormente il grado di leggibilità del codice possiamo inserire
anche dei blocchi di commento come segue:
<!-- Questo è il mio commento -->
7/37
Dott.Ing.Ivan Ferrazzi
Questi blocchi sono presenti, ma non vengono interpretati dal web browser.
8/37
Dott.Ing.Ivan Ferrazzi
I tag di struttura
Vediamo in questa sezione i principali tag utilizzati per creare la struttura
iniziale di una pagina html.
Il tag <html>...</html>.
Il tag principale che definisce il contenuto della pagina HTML è <html>...</html>.
All'interno di esso possiamo trovare i tag <head>...</head> e <body>...</body>
che permettono di definire rispettivamente informazioni particolari della pagina
stessa (head) ed il suo contenuto (body).
Vediamo ora un esempio pratico. Creiamo utilizzando il seguente codice un
semplice file di testo che andremo a chiamare hello.html:
<html>
<head>
</head>
<body>
Hello World!
</body>
</html>
Se, dopo averlo creato, clicchiamo due volte con il tasto sinistro del mouse
sull'icona del file stesso vedremo apparire la scritta Hello World! all'interno del
nostro web browser predefinito.
9/37
Dott.Ing.Ivan Ferrazzi
Il tag <head>...</head>.
All'interno del tag <head>...</head> possiamo trovare diversi tag alcuni dei quali
sono:
<title>...</title>
<meta ... />
<script>...</script>
<style>...</style>
Questo tag permette di definire il titolo che
vogliamo dare alla nostra pagina HTML e dovrebbe
sempre essere presente. Il testo che viene inserito
all'interno di questo tag viene visualizzato nella
barra dei titoli del web browser.
I META-tag sono dei tag che permettono di dare
delle informazioni aggiuntive della pagina stessa al
web browser, come la lingua utilizzata, il charset,
l'autore della pagina, la descrizione dei contenuti,
ecc.
Questo tag permette di utilizzare codice di
linguaggi di programmazione aggiuntivo come ad
esempio Javascript.
All'interno di questo tag possiamo definire gli stili
da utilizzare per i singoli contenuti della pagina.
Proviamo a modificare il nostro semplice esempio iniziale come segue:
<html>
<head>
<title>Titolo della pagina</title>
</head>
<body>
Hello World!
</body>
</html>
Il tag <body>...</body>
Come precedentemente accennato utilizziamo questo tag per definire tutto il
contenuto della pagina stessa, quindi quello che vediamo direttamente
all'interno del web browser.
Questo tag consente l'utilizzo di vari attributi che ne modificano il
comportamento. HTML 4, però, ha introdotto un l'attributo style con il quale
possiamo specificare il comportamento dell'elemento utilizzando i fogli di stille
(CSS).
background=”[percorso/]file_immagine”
style=”background-image:url([percorso/]file_immagine)”
Con l'utilizzo di questo attributo possiamo inserire un'immagine come sfondo
del web browser. L'immagine verrà inserite con le sue dimensioni originali e
moltiplicata verticalmente ed orizzontalmente nel caso in cui lo spazio
10/37
Dott.Ing.Ivan Ferrazzi
all'interno del web browser fosse più grande delle dimensioni originali
dell'immagine stessa.
Il percorso serve a definire la posizione attuale dell'immagine a partire dalla
posizione del file html che contiene questa richiesta. Se questa indicazione
viene omessa l'immagine verrà cercata nella stessa posizione del file html in
esecuzione.
Poniamo come esempio la seguente struttura:
|- immagini
|
|- sfondo.jpg
|
|- sito
|- index.html
Dove immagini e sito sono le cartelle principale, mentre sfondo.jpg è il file
dell'immagine che vogliamo utilizzare e index.html la pagina web per la quale
vogliamo definire un'immagine come sfondo.
Nel file index.html troviamo il seguente codice:
<html>
<head>
<title>Il mio sfondo</title>
</head>
<body background=”../immagini/sfondo.jpg”>
Hello World!
</body>
</html>
Siccome dobbiamo definire l'esatta posizione dell'immagine a partire dalla
posizione della pagina html che ne vuole fare utilizzo mettiamo il ../ per uscire
dall'attuale cartella sito e immagini/ per entrare nella rispettiva cartella che
contiene l'immagine desiderata.
bgcolor=”{colore|codice esadecimale}”
style=”background-color:{colore|codice esadecimale}”
Questo attributo viene utilizzato per definire il colore di sfondo della pagina
html che vogliamo visualizzare. Come valori possiamo utilizzare il colore in
lingua inglese (es. “red”, “black”, “yellow”, ecc.), oppure il codice esadecimale
con un # posto davanti utilizzando il formato #RRVVBB. Il codice permette di
identificare l'esatta sfumatura tra i 16 milioni di colori possibili utilizzando
quindi la combinazione tra i valori di rosso (RR), verde (VV) e blu (BB) (es.
“#FF0000” per il rosso, “#00FF00” per il verde e “#0000FF” per il blu).
<html>
<head>
<title>Lo sfondo diventa rosso</title>
</head>
<body bgcolor=”#FF0000”>
Hello World!
</body>
11/37
Dott.Ing.Ivan Ferrazzi
</html>
bgproperties=”fixed”
style=”background-attachment:fixed”
Nel caso in cui volessimo utilizzare un'immagine di sfondo all'interno di una
pagina html che mette a disposizione un contenuto che supera la singola
videata possiamo utilizzare la relativa barra di scorrimento per visualizzare
l'intero contenuto della pagina stessa. Utilizzando un'immagine di sfondo
abbiamo il probabilmente indesiderato effetto di ripetizione dell'immagine
inserita come sfondo. Per evitare questo comportamento possiamo utilizzare
questo attributo che fissa l'immagine allo sfondo e permette di farci scorrere
sopra il contenuto dell'intera pagina html. Il primo attributo ( BGPROPERTIES) viene
utilizzato per attivare la rispettiva proprietà sul browser Internet Explorer,
proprietà che però non funziona ad esempio su Mozilla Firefox per il quale
dobbiamo utilizzare la seconda proprietà indicata ( STYLE) ossia la modifica dello
stile.
link=”{colore|codice esadecimale}” (solo Internet Explorer)
Questo attributo permette di definire il colore (vedi BGCOLOR) da utilizzare per i
link della pagina.
vlink=”{colore|codice esadecimale}” (solo Internet Explorer)
Questo attributo permette di definire il colore (vedi BGCOLOR) da utilizzare per i
link già visitati della pagina.
alink=”{colore|codice esadecimale}” (solo Internet Explorer)
Questo attributo permette di definire il colore (vedi BGCOLOR) da utilizzare per i
link attivi della pagina.
text=”{colore|codice esadecimale}”
style=”color:{colore|codice esadecimale}”
Questo attributo permette di definire il colore (vedi BGCOLOR) da utilizzare per
l'intero testo della pagina.
topmargin=”valore”
style=”margin-top:valore”
Questo attributo permette di definire la distanza in pixel ( valore) dal margine
superiore al contenuto più alto della pagina.
bottommargin=”valore”
style=”margin-bottom:valore”
Questo attributo permette di definire la distanza in pixel ( valore) dal margine
inferiore al contenuto basso della pagina.
leftmargin=”valore”
style=”margin-left:valore”
Questo attributo permette di definire la distanza in pixel ( valore) dal margine
12/37
Dott.Ing.Ivan Ferrazzi
sinistro al contenuto più a sinistra della pagina.
rightmargin=”valore”
style=”margin-right:valore”
Questo attributo permette di definire la distanza in pixel ( valore) dal margine
destro al contenuto più a destra della pagina.
Esempio:
<html>
<head>
<title>Pagina con margini</title>
</head>
<body background=”sfondo.jpg” topmargin=”60” bottommargin=”20”
leftmargin=”70” rightmargin=”50”>
Hello World!
</body>
</html>
13/37
Dott.Ing.Ivan Ferrazzi
Tipi di tag
I tipi di tag si dividono principalmente in tag a blocco, tag in linea, oppure tag a
blocco in linea.
Tag a blocco
Questi tag identificano dei contenitori che utilizzano di default l'intera larghezza
messa a disposizione dall'elemento padre. Inoltre sono caratterizzati da un
break line (nuova riga) prima e dopo la sua visualizzazione all'interno del
browser. Alcuni dei tag a blocco sono: div, h1...h6, p, ul, ol.
Tag in linea
Questi tag identificano gli elementi che di default possono essere inseriti in
sequenza orizzontale. Il break line deve quindi avvenire in maniera forzata (es.
con br). Gran parte degli elementi in linea non reagiscono ad eventuali
impostazioni di dimensione. Alcuni dei tag in linea sono: b, strong, span, u, i.
Tag a blocco in linea
Questi tag identificano gli elementi che di default possono essere inseriti in
sequenza orizzontale mantenendo però la possibilità di essere personalizzati da
un punto di vista di dimensione. Il tag che utilizza questa impostazione di
default è il tag img.
14/37
Dott.Ing.Ivan Ferrazzi
Tag per i testi
I seguenti tag possono essere utilizzati per visualizzare in maniera specifica
parole, frasi, oppure blocchi di testo.
I tag per definire i titoli
I tag <hx>...</hx> dove x sta per il numero di livello che va dal valore 1 (titolo
con caratteri più grandi) al valore 6 (titolo con caratteri più piccoli).
Esempio:
<html>
<head>
<title>Testo con titolo</title>
</head>
<body>
<h1>Il mio titolo</h1>
<font face=”Verdana,Arial” size=”2” color=#FF0000”>
Hello World!
</font>
</body>
</html>
Il tag per tipo , dimensione e colore del carattere.
Il tag utilizzato per definire il tipo, la dimensione ed il colore del carattere era il
font che però è ormai deprecato da tempo e quindi non più utilizzato. Il tag che
lo sostituisce è span. Gli attributi indicati in questa sezione funzionano
esclusivamente con il tag font, mentre per lo span è indispensabile l'utilizzo
15/37
Dott.Ing.Ivan Ferrazzi
delle proprietà CSS. Vediamo comunque gli attributi più importanti del vecchio
tag e i corrispettivi stili da utilizzare con span:
face=”tipo carattere[,tipo carattere,...]”
style=”font-family:tipo carattere[,tipo carattere,...]”
Questo attributo permette di definire quale tipo di carattere utilizzare per la
visualizzazione del testo. Possiamo aggiungere anche più di un tipo di
carattere, in questo caso verrà utilizzato il primo (a partire da sinistra) dei tipi
di carattere presenti sul computer del client che sta visualizzando la nostra
pagina. Nel caso in cui nessuno dei tipi di carattere elencati fosse presente sul
sistema del client il web browser userebbe il suo tipo di carattere di default.
size=”valore”
style=”font-size:valore px”
Questo attributo ci da la possibilità di definire la dimensione del carattere con
un valore che va da 1 (piccolo) a 6 (molto grande).
color=”{colore|valore esadecimale}”
style=”color:{colore|valore esadecimale}”
Con questo attributo possiamo definire il colore (vedi bgcolor) del testo
compreso tra il file di apertura e chiusura.
Esempio:
<html>
<head>
<title>Il testo formattato</title>
</head>
<body>
<font face=”Verdana,Arial” size=”2” color=#FF0000”>
Hello World!
</font>
</body>
</html>
Lo stile dei testi
Precedentemente abbiamo visto il tag <font>...</font> (anche se deprecato)
che permette di definire il tipo di carattere, la dimensione ed il colore del testo.
Senza utilizzare gli stili non ci è possibile modificare con questo tag lo stile del
testo inserito. Per questo motivo ci vengono messi a disposizione diversi tag
alcuni dei quali sono:
<strong>...</strong> per il grassetto
style=”font-weight:bold”
Questo tag permette di mettere in grassetto il testo contenuto tra il tag iniziale
e quello finale.
<u>...</u> per la sottolineatura
style=”text-decoration:underline”
16/37
Dott.Ing.Ivan Ferrazzi
Questo tag permette di sottolineare il testo contenuto tra il tag iniziale e quello
finale.
<i>...</i> per il corsivo
style=”font-style:italic”
Questo tag permette di mettere in corsivo il testo contenuto tra il tag iniziale e
quello finale.
Gli stili possono essere utilizzati anche in combinazione l'uno con l'altro, ma è
molto importante che venga chiuso per primo l'ultimo tag iniziale utilizzato.
Esempio:
<html>
<head>
<title>Grassetto e corsivo</title>
</head>
<body>
<font face=”Verdana,Arial” size=”2” color=#FF0000”>
<strong><i>Hello World!</i></strong>
</font>
</body>
</html>
Nel precedente esempio chiudiamo, infatti, prima il tag <i> utilizzato per ultimo
e poi il tag <i> utilizzato per primo.
I paragrafi
Con il tag <p>...</p> possiamo definire dei paragrafi, ossia dei blocchi di testo
per i quali valgono delle precise regole di formattazione. Queste regole
possono essere definite con l'utilizzo degli attributi uno dei quali è align.
align=”allineamento”
style=”text-align:{left|center|right|justify}”
Con questo attributo possiamo definire l'allineamento all'interno del paragrafo.
I valori che possiamo utilizzare sono center, per centrare il testo, left per
allineare a sinistra, right per allineare a destra e justify per giustificare il testo.
Interruzione di riga
Il tag <br />, privo di tag finale e quindi terminato con /> costringe il web
browser ad andare a capo.
Esempio:
<html>
<head>
<title>A capo</title>
</head>
17/37
Dott.Ing.Ivan Ferrazzi
<body>
Hello World!<br />
Ciao mondo!<br />
Bye.
</body>
</html>
Il tag per definire i link (le ancore)
Un link non è altro che un collegamento ad un'altra pagina. Cliccando sul link
che verrà poi visualizzato all'interno della pagina html ne possiamo vedere la
pagina di destinazione. Il tag che utilizziamo per definire i link è <a>...</a>.
All'interno di questo link possiamo trovare tra l'altro dei blocchi di testo, oppure
delle immagini. Questo tag mette a disposizione una vasta gamma di attributi
alcuni dei quali sono:
href=”[percorso/]pagina_web”
Questo attributo permette di definire la pagina di destinazione da aprire nel
caso in cui si clicchi sopra il rispettivo link.
target=”posizione_di_caricamento”
Con questo attributo è possibile definire il dove viene visualizzata la pagina di
destinazione identificata dal link stesso. Alcuni valori possono essere _blank per
aprire la destinazione all'interno di una nuova finestra del web browser (la
precedente rimane visualizzata all'interno di una precedente finestra), top evita
di rimanere legati ad un'eventuale struttura definita con FRAME (vedi più avanti
) e ne carica completamente il contenuto, oppure il nome del FRAME (vedi più
avanti) per identificare il frame all'interno del quale vogliamo visualizzare il
contenuto della pagina di destinazione.
Se questo attributo non viene utilizzato la pagina di destinazione viene caricata
al posto della pagina attualmente visualizzata.
<html>
<head>
<title>Link</title>
</head>
<body>
<a href=”prova.html” target=”_blank”>Hello World!</a>
</body>
</html>
Le linee divisorie
si utilizza per creare una linea divisoria orizzontale e, a differenza degli
altri tag visti precedentemente, non necessita di chiusura. Questo tag supporta
diversi attributi alcuni dei quali sono:
<hr />
color=”{colore|valore esadecimale}”
18/37
Dott.Ing.Ivan Ferrazzi
style=”color:{colore|valore esadecimale}”
Questo attributo permette di definire il colore (vedi bgcolor) della linea
divisoria.
align=”allineamento”
style=”text-align:{left|center|right}”
Questo attributo permette di definire l'allineamento della linea divisoria nel
caso in qui la sua dimensione fosse inferiore dell'intera larghezza utilizzata.
Come valori possiamo utilizzare left, per allinearla a sinistra, right per
allinearla a destra e center per centrarla.
size=”valore”
style=”height:valore”
Questo attributo permette di definire lo spessore della linea divisoria. Il valore definisce lo spessore in pixel.
width=”valore”
style=”width:valore”
Con questo attributo possiamo definire la larghezza della linea. Come valore possiamo utilizzare un numero che ne definisce la dimensione in pixel, oppure
un valore percentuale, per definirne la dimensione in base all'intera larghezza
messa a disposizione.
Esempio:
<html>
<head>
<title>Linea divisoria</title>
</head>
<body>
<hr width=”70%” />
Hello World!
<hr width=”50” />
</body>
</html>
noshade=”noshade”
Permette di inserire una linea divisoria senza ombreggiatura.
19/37
Dott.Ing.Ivan Ferrazzi
Le tabelle
La tabella ha come tag principale <table>...</table> all'interno del quale si
inserisce con dei tag particolari l'intera struttura della tabella. Il tag principale
può contenere degli attributi che definiscono il comportamento di
visualizzazione dell'intera tabella. Gli attributi più utilizzati sono:
border=”valore”
style=”border:valore”
Questo attributo permette di definire lo spessore delle linee verticali ed
orizzontali che delimitano le parti dell'intera tabella. Un valore pari a 0 rende
invisibili queste linee delimitatrici.
bordercolor=”{colore|valori esadecimali}”
style=”border-color:{colore|valori esadecimali}”
Questo attributo ci da la possibilità di definire il colore (vedi bgcolor) del bordo
utilizzato. Il colore è visualizzabile solo se viene utilizzato un valore per border
superiore a 0.
cellpadding=”valore”
style=”padding:valore”
Con questo attributo possiamo definire lo spazio tra il bordo della cella ed il suo
contenuto. Un valore pari a 0 permette di attaccare il contenuto direttamente
al bordo della cella.
cellspacing=”valore”
style=”border-spacing:valore[[,valore],valore,valore]”
Questo attributo ci permette di modificare lo spazio tra il bordo di una cella ed
il bordo delle altre celle della tabella. Un valore pari a 0 permette di attaccare
20/37
Dott.Ing.Ivan Ferrazzi
una cella direttamente all'altra.
width=”valore”
style=”width:valore”
Questo attributo permette di definire la larghezza dell'intera tabella. Il valore
può essere messo come numero che identifica la larghezza in pixel, oppure
come valore percentuale dove verrebbe utilizzata come larghezza la
dimensione percentuale relativa all'interno spazio disponibile.
HEIGHT=”valore”
style=”height:valore”
Questo attributo permette di definire l'altezza dell'intera tabella. Il valore può
essere messo come numero che identifica l'altezza in pixel, oppure come
valore percentuale dove verrebbe utilizzata come altezza la dimensione
percentuale relativa all'interno spazio disponibile.
align=”allineamento”
style=”text-align:{left|center|right}”
Con questo attributo possiamo definire l'allineamento della tabella. I possibili
valori per definire l'allineamento sono center, che centra la tabella rispetto al
restante contenuto, left che allinea la tabella a sinistra e right che la allinea
a destra.
bgcolor=”{colore|valore esadecimale}”
style=”background-color:{colore|valore esadecimale}”
Questo attributo definisce il colore di sfondo dell'intera tabella. Possiamo
inserire il nome inglese relativo al colore che desideriamo (es. red) oppure
inserire il codice con il formato esadecimale (es. #ff0000). Il colore definito con
questo attributo viene utilizzato per tutte quelle celle dove non è stato definito
a loro volta un eventuale colore di sfondo.
background=”[percorso/]file_immagine”
style=”background-image:url([percorso/]file_immagine)”
Questo attributo permette di definire un'immagine da utilizzare come sfondo
dell'intera tabella (vedi background del tag body).
Esempio:
<html>
<head>
<title>La mia tabella</title>
</head>
<body>
<table border=”0” cellpadding=”0” cellspacing=”0”>
...
</table>
</body>
</html>
Per creare l'effettiva struttura della tabella possiamo utilizzare <tr>...</tr>
21/37
Dott.Ing.Ivan Ferrazzi
all'interno del quale viene definita la struttura per un'intera riga ed il tag
<th>...</th> che permette di definire una riga di titolo, mentre <td>...</td>
permette di definire le singole celle all'interno di una riga. Cerchiamo di creare
la seguente semplice tabella per capire bene l'utilizzo di questi due tag.
Cognome Nome Nr.telefono
Pinco
Palla
123456
Il codice HTML che permette di realizzare questa tabella è:
<html>
<head>
<title>Elenco</title>
</head>
<body>
<table>
<tr><th>Cognome</th>
<td>Nome</th>
<td>Nr.telefono</th></tr>
<tr><td>Pinco</td>
<td>Palla</td>
<td>123456</td></tr>
</table>
</body>
</html>
Andiamo ora ad analizzare quello che abbiamo scritto. Il tag principale
<table>...</table> definisce il contenuto dell'intera tabella. Utilizziamo
all'interno di questo tag il <tr> per definire l'inizio di una nuova riga, seguito
subito dai tre tag <th>...</th> che contengono il testo relativo ai titoli di
colonna. Poi apriamo una nuova riga con il tag <tr> seguito dai tre tag
<td>...</td> che contengono il testo relativo alle singole cella appartenenti alla
stessa riga. Definiamo la fine della riga con il tag di chiusura </tr>.
Poi nuovamente un blocco <tr>...</tr> che contiene per ogni cella un
<td>...</td> con i rispettivi contenuti.
Il tag <td>...</td> mette a disposizione una vasta gamma di attributi che ne
definiscono il comportamento. Tra questi troviamo:
colspan=”numero_celle”
L'attributo COLSPAN permette di adattare la larghezza di una cella alla larghezza
di numero_celle celle. Per utilizzare in maniera corretta questo attributo è
importante capire come il tag TABLE identifica il numero delle colonne della
struttura che stiamo cercando di creare. Vediamo un semplice esempio:
Titolo1
Titolo2
Titolo3
CellaA
CellaB
22/37
Dott.Ing.Ivan Ferrazzi
CellaC
CellaD
Nella tabella precedente vediamo che il numero delle colonne dipende dalla
riga con all'interno il numero più elevato di celle. In questo caso prediamo
come punto di riferimento la prima riga composta dai valori Titolo1, Titolo2 e
Titolo3.
Nella seconda riga notiamo la cella con il contenuto CellaA che deve avere una
larghezza pari alle prime due celle della riga di riferimento (quella con il
numero più alto di celle). La stessa situazione la troviamo nella terza riga dove
la cella CellaD deve essere lunga quanto le ultime due della riga di riferimento.
Vediamo come scrivere il relativo codice html:
<html>
<head>
<title>Tabella</title>
</head>
<body>
<table>
<tr><td>Titolo1</td>
<td>Titolo2</td>
<td>Titolo3</td></tr>
<tr><td colspan=”2”>CellaA</td>
<td>CellaB</td></tr>
<tr><td>CellaC</td>
<td colspan=”2”>CellaD</td></tr>
</table>
</body>
</html>
Notiamo nel presente codice l'utilizzo dell'attributo COLSPAN che permette di
definire a quanti blocchi <td>...</td> corrisponde il relativo <td> di riferimento.
rowspan=”numero_celle”
Come l'attributo precedente, ma permette di definire quante celle in altezza
deve utilizzare la cella desiderata in base alla colonna con più celle.
width=”valore”
style=”width:valore”
Questo attributo permette di definire la larghezza della cella. Il valore può
essere messo come numero che identifica la larghezza in pixel, oppure come
valore percentuale dove verrebbe utilizzata come larghezza la dimensione
percentuale relativa all'interno spazio messo a disposizione dalla tabella.
height=”valore”
style=”height:valore”
Questo attributo permette di definire l'altezza della riga. Il valore può essere
messo come numero che identifica l'altezza in pixel, oppure come valore
percentuale dove verrebbe utilizzata come altezza la dimensione percentuale
relativa all'interno spazio messo a disposizione dalla tabella.
align=”allineamento”
23/37
Dott.Ing.Ivan Ferrazzi
style=”text-align:{left|center|right}”
Con questo attributo possiamo definire l'allineamento orizzontale del contenuto
della cella. I possibili valori per definire l'allineamento sono center, che centra il
contenuto, left che allinea il contenuto a sinistra e right che lo allinea a destra.
valign=”allineamento”
style=”vertical-align:{top|middle|bottom}”
Con questo attributo possiamo definire l'allineamento verticale del contenuto
della cella. I possibili valori per definire l'allineamento sono top, che allinea il
contenuto in alto, center che centra il contenuto e bottom che lo allinea in basso.
bgcolor=”{colore|valore esadecimale}”
style=”background-color:{colore|valore esadecimale}”
Questo attributo definisce il colore di sfondo (vedi bgcolor) della cella.
background=”[percorso/]file_immagine”
style=”background-image:url([percorso/]file_immagine)”
Questo attributo permette di definire un'immagine da utilizzare come sfondo
della cella (vedi background del tag body).
24/37
Dott.Ing.Ivan Ferrazzi
Le immagini
Le immagini in una pagina web sono di fondamentale importanza, un sito senza
immagini sarebbe noioso e privo di ogni tipo di struttura grafica. I formati
sicuramente supportati dai web browser sono .jpg ed il .gif , si consiglia quindi
di utilizzare uno di questi per le proprie realizzazioni.
Per inserire le immagini utilizziamo il tag <img> che non necessita di chiusura.
Per utilizzarlo usiamo la seguente forma:
<img src=”[percorso/]file_immagine” />
L'attributo SRC (source) serve per definire la posizione del file immagine che
vogliamo presentare all'interno del nostro sito. Se l'immagine non si trova
direttamente all'interno della stessa cartella usata per il file html che la
contiene possiamo utilizzare ../ (andare al livello superiore) ed i nomi delle
singole cartelle separate da uno slash (/) per definirne l'esatta posizione.
Il tag <img> supporta diversi attributi alcuni dei quali sono:
width=”larghezza”
style=”width:larghezza”
Con questo attributo possiamo definire il valore larghezza in pixel (o in
percentuale in base alla dimensione originale) che vogliamo utilizzare per la
visualizzazione dell'immagine sul sito. Se non viene utilizzato l'attributo height
l'altezza verrà adattata proporzionalmente.
height=”altezza”
style=”height:altezza”
Con questo attributo possiamo definire il valore altezza in pixel (o in
percentuale in base alla dimensione originale) che vogliamo utilizzare per la
25/37
Dott.Ing.Ivan Ferrazzi
visualizzazione dell'immagine sul sito. Se non viene utilizzato l'attributo width
la larghezza verrà adattata proporzionalmente.
alt=”testo”
Questo attributo è molto importante e non dovrebbe mancare mai all'interno
del tag img. Infatti permette di definire un testo che
il browser deve
visualizzare nel caso in cui non fosse possibile la visualizzazione dell'immagine
stessa.
title=”testo”
Con questo attributo possiamo definire il testo che deve comparire all'interno
dell'etichetta che appare nel web browser quando rimaniamo fermi con il
puntatore del mouse sopra l'immagine o se l'immagine, per un qualsiasi
motivo, non venisse visualizzata.
border=”spessore”
style=”border-width:spessore”
Se il tag <img> viene utilizzato all'interno di un tag di ancoraggio <a>...</a>
possiamo utilizzare questo attributo per definire con il valore spessore lo
spessore del bordo da visualizzare intorno all'immagine stessa.
26/37
Dott.Ing.Ivan Ferrazzi
Gli elenchi
Gli elenchi si dividono in tre categorie: elenchi puntati, elenchi numerati e
elenchi di definizioni.
<ul>...</ul>
Questo tag permette di definire un elenco puntato. I singoli elementi della lista
vengono aggiunti con il tag <li>...</li>.
<ul>
<li>elemento 1</li>
<li>elemento 2</li>
</ul>
<ol>...</ol>
Questo tag permette di definire un elenco numerato. I singoli elementi della
lista vengono aggiunti con il tag <li>...</li>.
<ol>
<li>elemento 1</li>
<li>elemento 2</li>
</ol>
<dl>...</dl>
Questo tag permette di definire un elenco di definizioni. I titoli di definizione
vengono inseriti con il tag <dt>...</dt> mentre i blocchi descrittivi vengono
aggiunti con il tag <dd>...</dd>.
<dl>
<dt>elemento 1</dt>
<dd>descrizione 1</dd>
<dt>elemento 2</dt>
27/37
Dott.Ing.Ivan Ferrazzi
<dd>descrizione 2</dd>
</dl>
28/37
Dott.Ing.Ivan Ferrazzi
Tag per moduli da compilare
Il tag principale che permette di definire l'intero contenuto di un modulo è
<form>...</form>. Questo tag mette a disposizione vari attributi alcuni dei quali
sono:
method=”{post|get}”
Questo attributo definisce la modalità di trasferimento dei dati inseriti nei
componenti del modulo. Il trasferimento può avvenire mediante modalità get
oppure post. Il metodo get inserisce i valori da trasferire direttamente dietro la
URI della pagina da caricare e quindi è legata ad un determinato limite di
lunghezza, mentre post li manda nascosti all'interno degli header della pagina.
action=”pagina_web”
Con questo attributo definiamo quale sarà la pagina web alla quale verrà
inviato l'intero contenuto del modulo.
Per definire un form possiamo quindi scrivere:
<html>
<head>
<title>Il mio modulo</title>
</head>
<body>
<form method=”post” action=”prova.php”>
...
</form>
</body>
</html>
29/37
Dott.Ing.Ivan Ferrazzi
Il tag <input />
Questo tag è un tag particolare senza tag di chiusura che permette di definire
diversi tag utilizzati per l'inserimento di dati direttamente dall'utente della
pagina web. Questo tag mette a disposizione vari attributi alcuni dei quali sono:
type=”{text|password|checkbox|radio|button|submit}”
Questo attributo è l'attributo più importante perchè ne definisce il
comportamento. Utilizziamo text per definire una campo di inserimento testo,
password per campi per l'inserimento di parole chiave (quello che viene
digitato viene nascosto), checkbox per le caselle che permettono di attivare o
disattivare determinate opzioni, radio per creare liste di opzioni all'interno
delle quali può essere scelta un'unica opzione, button per creare dei pulsanti e
submit per definire il pulsante che verrà utilizzato per l'invio dei dati del
modulo.
name=”nome”
Questo attributo permette di definire il nome che vogliamo dare al componente
presente nel nostro modulo. Il nome viene utilizzato per riconoscere
l'appartenenza di un determinato valore trasmesso. In alcuni casi (ad esempio
con i componenti radio) il nome deve essere uguale per tutti i componenti
dello stesso gruppo.
value=”valore iniziale”
Questo attibuto permette di definire il valore iniziale del componente (solo con
i componenti text o password) o il valore da utilizzare nel caso in qui venisse
scelto il rispettivo componenti (con i componenti radio o checkbox).
Utilizziamo VALUE anche per assegnare il testo da utilizzare all'interno di un
componente BUTTON oppure SUBMIT.
size=”lunghezza” (solo per input oppure password)
Questo parametro permette di definire la lunghezza stimando il numero di
caratteri direttamente visualizzabili.
maxlength=”lunghezza” (solo per input oppure password)
Con questo attributo definiamo quanto lungo può essere al massimo il testo
che viene inserito.
checked=”checked” (solo per checkbox)
Questo attributo, senza assegnazione di valori,
l'eventuale componente checkbox di riferimento.
permette
di
spuntare
selected=”selected” (solo per radio)
Questo attributo, senza assegnazione di valori, permette di attivare il
componente presente all'interno di una lista di opzioni radio.
I componenti possono essere disposti all'interno di un form con l'utilizzo di una
30/37
Dott.Ing.Ivan Ferrazzi
tabella. Vediamo un semplice esempio:
<html>
<head>
<title>Il mio modulo</title>
</head>
<body>
<form name=”login” method=”post” action=”checkLogin.php”>
<table>
<tr><td>Nome utente:</td>
<td><input type=”text” name=”UID” value=”nome” /></td>
</tr>
<tr><td>Nome utente:</td>
<td><input type=”password” name=”PWD” /></td>
</tr>
<tr><td colspan=”2” align=”center”>
<input type=”submit” value=”login” />
</td>
</tr>
</table>
</form>
</body>
</html>
Il tag <lable>...</lable>
Questo tag viene utilizzato per definire un'etichetta da aggingere ad un input di selezione (ad esempio radio). In questo caso possiamo scegliere una delle
opzioni possibili cliccando direttamente sul nome definito per l'input in
questione:
for=”id”
Questo attributo permette di inserire l'id dell'elemento input per il quale si
vuole aggiungere l'etichetta.
Il tag <fieldset>...</fieldset>
Questo tag viene utilizzato per creare un bordo intorno a degli elementi.
All'interno del bordo possiamo inserire un'etichetta che ne definisce il titolo
utilizzando il tag <legend>...</legend>.
<html>
<head>
<title>FIELDSET</title>
</head>
<body>
<fieldset>
<legend>titolo</legend>
Nome: <input type=”text” /><br />
Cognome: <input type=”text” /><br />
</fieldset>
</body>
</html>
31/37
Dott.Ing.Ivan Ferrazzi
Il tag <textarea>...</textarea>
Questo tag viene utilizzato per definire una casella di inserimento testo
composto da più righe. Il testo compreso tra i due tag, di apertura e di
chiusura, viene visualizzato direttamente all'interno del componente stesso.
Tra i vari attributi che questo tag mette a disposizione vediamo quelli più
importanti:
name=”nome”
Questo attributo permette di definire il nome che vogliamo dare al componente
presente nel nostro modulo. Il nome viene utilizzato per riconoscere
l'appartenenza di un determinato valore trasmesso.
cols=”numero_caratteri”
Questo attributo permette di definire la larghezza del componenti stimando il
numero di caratteri che possiamo inserire in una riga. Nel caso in cui si
inseriscono più caratteri vediamo apparire la barra di scorrimento orizzontale.
rows=”numero_righe”
Questo attributo permette di definire il numero delle righe direttamente
visualizzabili all'interno del componente. Nel caso in cui si inserisce un testo più
lungo di numero_righe righe appare la barra di scorrimento verticale.
Vediamo ora un semplice esempio:
<html>
<head>
<title>Il messaggio</title>
</head>
<body>
<form name=”messaggio” method=”post” action=”invio.php”>
<table>
<tr><td>Messaggio:</td>
<td><textarea name=”testo” rows=”30” cols=”5”>
Questo testo viene visualizzato!
</textarea>
</td>
</tr>
<tr><td colspan=”2” align=”center”>
<input type=”submit” value=”invia”>
</td>
</tr>
</table>
</form>
</body>
</html>
Il tag <select>...</select>
Con questo tag possiamo definire dei menu a tendina. Il tag principale <select>
mette a disposizione diversi attributi, ma quello più utilizzato è il seguente:
name=”nome”
32/37
Dott.Ing.Ivan Ferrazzi
Questo attributo permette di definire il nome che vogliamo dare all'intero
componente. Il nome viene utilizzato per riconoscere l'appartenenza del valore
selezionato.
All'interno del tag principale inseriamo una serie di tag <option>...</option> per
definire le singole righe di menu del nostro menu a tendina. Alcuni degli
attributi che possiamo utilizzare all'interno di questo sono:
value=”valore”
Questo attributo permette di definire il valore che viene inviato nel caso in cui
questa voce di menu fosse quella attualmente selezionata.
selected=”selected”
Questo attributo permette di definire quale delle voci inserite deve essere
quella selezionata (quindi visualizzata all'interno del componente menu a
tendina chiuso).
I vari tag <option>...</option> possono essere raggruppati utilizzando il tag
<optgroup>...</optgroup>. All'interno di quest'ultimo possiamo inserire l'attributo
label che permette di definire il nome del gruppo.
label=”nome”
Questo attributo permette di definire il nome del gruppo all'interno del menu a
tendina.
Vediamo ora un esempio:
<html>
<head>
<title>Menu a tendina</title>
</head>
<body>
<select name=”scelta”>
<optgroup label=”gruppo 1”>
<option value=”1”>Elemento 1</option>
<option value=”2” selected=”selected”>Elemento 2</option>
</optgroup>
<optgroup label=”gruppo 2”>
<option value=”3”>Terza riga</option>
</optgroup>
</select>
</body>
</html>
33/37
Dott.Ing.Ivan Ferrazzi
I frame
I FRAME venivano utilizzati per suddividere una pagina web in sezioni separate,
le quali erano completamente indipendenti l'una dall'altra. I frame sono
attualmente deprecati e non si dovrebbero più utilizzare. Manteniamo
comunque questa sezione per dare la possibilità di interpretare eventuale
codice datato.
La suddivisione viene definita utilizzando il tag <frameset>...</frameset> e gli
attributi principali rows e cols che definiscono rispettivamente quante righe
oppure colonne utilizzare per la visualizzazione della sezione in questione.
All'interno di una pagina web utilizzata per definire la struttura di suddivisione
di un'intera pagina viene normalmente utilizzato senza blocco <body>...</body>.
rows=”alt_riga_1,alt_riga_2,...,alt_riga_n”
Questo attributo permette di suddividere l'intero spazio in altezza dedicato al
frameset. I valori possono essere espressi in pixel, oppure come valore
percentuale in proporzione all'intero spazio dedicato. Possiamo anche utilizzare
l'asterisco che permette di definire il restante spazio disponibile.
cols=”lar_col_1,lar_col_2,...,lar_col_n”
Questo attributo permette di suddividere l'intero spazio in larghezza dedicato al
frameset. I valori possono essere espressi in pixel, oppure come valore
percentuale in proporzione all'intero spazio dedicato. Possiamo anche utilizzare
l'asterisco che permette di definire il restante spazio disponibile.
Ad ogni singola suddivisione va assegnata una rispettiva pagina web da
caricare con il tag <frame> che non possiede un tag di chiusura, oppure può
essere suddivisa ulteriormente utilizzando un nuovo frameset. Alcuni degli
34/37
Dott.Ing.Ivan Ferrazzi
attributi che possiamo utilizzare all'interno del tag <frame> sono:
name=”nome”
Con l'utilizzo di questo attributo è possibile assegnare un nome alla relativa
sezione creata. Questo nome può essere utilizzato ad esempio dal tag con il
quale si crea dei link <a>...</a> per definire all'interno di quale sezione caricare
l'eventuale pagina web collegata (vedi l'attributo target).
src=”[percorso/]pagina_web”
Questo attributo ci permette di definire quale pagina web caricare all'interno
della sezione definita. Se la pagina che definisce la struttura con frameset non
si trova all'interno della stessa cartella delle pagine da caricare possiamo
definire l'intero percorso a partire dalla pagina stessa.
Per semplificare la comprensione vediamo ora il codice di una pagina web che
definisce la seguente struttura:
intestazione.html
menu.html
main.html
Vediamo ora la relativa pagina web:
<html>
<head>
</head>
<frameset rows=”100,*”>
<frame name=”intestazione” src=”intestazione.html”>
<frameset cols=”200,*”>
<frame name=”menu” src=”menu.html”>
<frame name=”main” src=”main.html”>
</frameset>
</frameset>
</html>
Nel primo frameset notiamo la suddivisione dell'altezza con l'attributo rows dove
100 pixel vengono dedicati all'intestazione, mentre il resto ( *) viene dedicato al
menu e al blocco centrale (main).
Nelle righe successive notiamo che i primi 100 pixel vengono dedicati
interamente al FRAME chiamato intestazione, mentre il resto viene ulteriormente
suddiviso in larghezza mediante l'attributo cols.
I 200 pixel di larghezza vengono quindi dedicati al FRAME chiamato menu ed il
restante spazio al FRAME chiamato main.
35/37
Dott.Ing.Ivan Ferrazzi
Validare il codice
Con l'aggiunta di uno dei seguenti blocchi di codice all'inizio della nostra pagina
(quindi prima del tag <html>...</html>) possiamo validare il proprio codice come
HTML 4.01 oppure come XHTML 1.0. Il primo blocco definito come strict DTD
include tutti gli elementi e attributi che non sono stati deprecati:
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Il prossimo codice, invece, definito come transitional DTD include gli elementi
ed attributi inclusi dal blocco strict DTD con l'aggiunta degli elementi e degli
attributi deprecati:
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Il prossimo codice permette di validare la pagina come frameset DTD, ossia come
transitional DTD con l'aggiunta degli elementi e degli attributi per i frameset:
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
36/37
Dott.Ing.Ivan Ferrazzi
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
37/37