HTML, HyperText Markup Language
Antonio Pescapè (pescape at unina.it)
Scopo della lezione
• Mostrare, nella pratica, il concetto di ipertesto.
• Fornire, in pratica, il concetto di interprete.
• Senza avere alcuna conoscenza di
programmazione scrivere (forse per la prima
volta) un semplice programma (… la “L” di HTML
sta per Language…).
• Fornire conoscenze di base per costruire pagine
web statiche senza l’ausilio di editor specializzati
(Frontpage, HTML Edit, …).
• Fornire conoscenze per la costruzione di pagine
web elementari nelle quali poter ospitare i vostri
“contributi multimediali”.
a.a. 2006/2007
HTML: un po’ di storia
• Il WWW (World Wide Web) fu inventato nel 1991 da
Tim Berners Lee al CERN di Ginevra.
• Esso consisteva in un sistema per rendere disponibili
su Internet dei contenuti di testi ed immagini (pagine
Web) con facilità, mediante protocolli di
comunicazione (HTTP), linguaggi di codifica dei
contenuti (HTML), e sintassi per indicare la
collocazione dei contenuti (URL).
• Lo standard HTML fu inizialmente sviluppato
dall’IETF.
• Oggi le specifiche dello standard e le sue evoluzioni
sono manutenute dal World Wide Web
Consortium (www.w3c.org).
a.a. 2006/2007
HTML: le specifiche standard
• Lo standard HTML si è evoluto in diverse
versioni successive: 1.0, 2.0, 3.0, 3.2, 4.0,
4.01.
• Un cambio nel nome: la versione attualmente
più recente si chiama XHTML 1.0.
• Molto simile alla precedente HTML 4.01.
• Il cambiamento da HTML a XHTML riguarda
principalmente l’adozione delle regole più
rigide utilizzate già da XML (un altro tipo di
markup language usato per altri scopi e
leggermente più complesso) per HTML, in
modo da renderlo più facile da processare e
manutenere.
a.a. 2006/2007
HTML: i tag
• Un documento HTML è composto sia
dal contenuto che da comandi
comandi.
• Il contenuto è ciò che viene visualizzato
dall’utente con un browser.
• I comandi (o tag
tag) sono le istruzioni che
fanno sì che il documento venga
visualizzato correttamente in tutte le sue
parti così come appare nel browser.
a.a. 2006/2007
HTML: il formato dei tag
• Le pagine Web, dunque, contengono due tipi di
oggetti:
1. Il testo del documento;
2. I tag HTML che indicano gli elementi, la struttura, la
formattazione e i link ipertestuali con altre pagine, ….
• In generale i tag hanno il seguente aspetto:
• <NomeTag> testo su cui il tag ha effetto </NomeTag>
• <NomeTag attributo=“valore”> contenuto </NomeTag>
a.a. 2006/2007
HTML: il compito dei tag
•
HTML è un “markup language”
•
partendo dal testo si possono poi applicare alcuni
particolari tag a parole e paragrafi per ottenere la
formattazione richiesta.
I tag definiscono:
•
•
intestazioni, paragrafi, elenchi e tabelle
•
lo stile dei caratteri, ad esempio il grassetto
•
…
a.a. 2006/2007
HTML: come scrivere una semplice pagina
•
Una pagina Web è un file con estensione .htm o .html
•
Il modo migliore per iniziare a creare pagine Web è quello di usare
un semplice editor di testi, ad esempio Notepad o Wordpad.
Esistono anche:
•
editor grafici di HTML (es. Front Page di Microsoft, Dreamweaver, HTML
Edit…)
•
•
editor a Tag
•
programmi convertitori (Word, WordPerfect ecc.)
L’altro strumento di cui avremo bisogno per visualizzare le pagine
che scriveremo è il browser.
a.a. 2006/2007
HTML: struttura di una pagina
• Ciò che dobbiamo inizialmente scrivere è:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
a.a. 2006/2007
HTML: primo esempio
<HTML>
<HEAD>
<TITLE> Home Page di Nome </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
a.a. 2006/2007
HTML: il tag <body>
• Dopo l'intestazione deve essere inserito il corpo del
documento, identificato dal marcatore <body>:
<body>...</body>
• Il testo del documento va inserito tra questi due
marcatori, includendo tutti gli altri marcatori con i quali
si vorrà descriverne la struttura e la forma.
• L'elemento '<body>' prevede alcuni attributi che
analizzeremo in seguito.
a.a. 2006/2007
HTML: prima pagina (1/2)
•
Cominciamo, dunque, a comporre la nostra pagina digitando quanto
segue:
<html>
<head>
<title>La mia prima pagina Web </title>
</head>
<body>
<h1>Questa e’ la Home page di Nome
Cognome</h1>
<p>Questa e’ la mia prima pagina in HTML.</p>
</body>
</html>
a.a. 2006/2007
HTML: prima pagina (2/2)
a.a. 2006/2007
HTML: i tag <hn
<hn>
• I titoli di un documento possono essere articolati su vari
livelli gerarchici (titolo di sezione, titolo di capitolo, titolo di
paragrafo etc.)
• Gli elementi per codificare questi titoli interni hanno un
marcatore della forma <hn>
• In HTML sono disponibili sei diversi livelli di titoli: <h1> è il
livello più alto e <h6> il più basso
• Il primo viene solitamente utilizzato per marcare il titolo di un
capitolo, o di una sezione importante, e i successivi per indicare
sottosezioni progressivamente più piccole.
a.a. 2006/2007
HTML: esempio tag <hn
<hn> (1/2)
Un esempio:
<html>
<head>
<title>La mia prima pagina Web </title>
</head>
<body>
<h1>Questa e’ la Home page di Nome Cognome</h1>
<p>Questa e’ la mia prima pagina in HTML.</p>
<h1>Primo livello</h1>
<h2>Secondo livello</h2>
<h3>Terzo livello</h3>
<h4>Quarto livello</h4>
<h5>Quinto livello</h5>
<h6>Sesto livello</h6>
</body>
</html>
a.a. 2006/2007
HTML: esempio tag <hn
<hn> (2/2)
a.a. 2006/2007
HTML: attributi dei tag <hn
<hn>
•
E’ possibile inserire più titoli all'interno della pagina, anche dello stesso
livello.
•
Tutti i marcatori di questi titoli interni supportano un attributo che permette
di specificare l'allineamento del testo.
•
Il nome dell'attributo è 'align', e i valori possibili, che specificano il tipo di
allineamento, sono:
•
1.
center
2.
left
3.
right
Ad esempio:
<h1 align="center">Home page di Nome Cognome</h1>
a.a. 2006/2007
HTML: il tag <p>
• Un documento HTML può essere diviso in
capoversi (paragrafi): a tale fine va utilizzato
l'elemento <p>.
• L'effetto visivo di questa istruzione è quello di
inserire un ritorno a capo e una riga vuota nel testo
a video.
• Si noti che dopo ogni titolo <hn> il browser va a
capo automaticamente.
a.a. 2006/2007
HTML: esempio tag <p>
• Riportiamo nel nostro file le due parti che
seguono:
<p>Questa riga</p><p>va a capo.</p>
<p>Quest'altra,invece,
appare scritta su
un’unica riga
nonostante ci siano degli a
capo.</p>
a.a. 2006/2007
HTML: attributi del tag <p>
•
L’esempio che abbiamo appena visto ci dice che l’HTML visualizza i
capoversi separandoli in funzione dell'istruzione <p> e non degli 'a capo'
eventualmente presenti nel nostro file.
•
Anche il marcatore <p> può avere degli attributi di tipo 'align'.
<p align="right">, ad esempio, sposterà a destra il capoverso.
•
•
Un altro marcatore che riguarda la gestione dei salti di linea è <br>
(break).
•
La sua funzione è quella di provocare un 'ritorno a capo' senza
introdurre una riga vuota.
•
<br> non ha un marcatore di chiusura in quanto indica
semplicemente il punto in cui intervenire.
•
Ricorrendo a più marcatori <br> in sequenza si possono creare
delle spaziature verticali.
a.a. 2006/2007
HTML: le liste non numerate
•
In un documento possono comparire anche elenchi ordinati di voci, o
liste che possono essere numerate (ad ogni voce della lista è assegnato
automaticamente un numero progressivo) o non numerate (ogni voce
della lista è preceduta da un pallino).
•
HTML fornisce una serie di elementi per inserire liste all'interno di
pagine Web.
•
La sintassi per le liste non numerate è la seguente:
<ul>
<li>prima voce</li>
<li>seconda voce</li>
<li>terza voce</li>
</ul>
a.a. 2006/2007
HTML: le liste numerate
• Le liste numerate si costruiscono nello stesso
modo, ma il tag di apertura è <ol> (ordered list) e
quello di chiusura, ovviamente, </ol>. All'interno,
ancora una serie di elementi <li>
<ol>
<li>prima voce</li>
<li>seconda voce</li>
<li>terza voce</li>
</ol>
a.a. 2006/2007
HTML: esempio liste
a.a. 2006/2007
HTML: attributi delle liste
• Il formato delle liste può essere controllato
mediante alcuni attributi tra cui:
•
type="x“ dove x può assumere uno dei
seguenti valori:
circle = cerchio
square = quadratino
I = numeri romani maiuscole
i = numeri romani minuscoli
A = lettere minuscole
a = lettere maiuscole
a.a. 2006/2007
HTML: Gli stili di carattere (1/2)
• In genere gli stili di carattere sono corsivo,
grassetto, sottolineato.
• HTML dispone dei seguenti stili
<strong>...</strong>
Testo molto rilevante (viene reso di norma in grassetto)
<em>...</em>
Testo enfatizzato (viene reso di norma in corsivo)
<cite>...</cite>
Testo citato (viene reso di norma in corsivo)
<address>...</address>
Indirizzo (viene reso in corsivo o in grassetto con un carattere piccolo)
a.a. 2006/2007
HTML: Gli stili di carattere (2/2)
<b>...</b> Grassetto
<u>...</u> Sottolineato
<i>...</i> Italico o corsivo
<big>...</big> carattere più grande
<small>...</small> carattere più piccolo
•
Gli stili possono essere sommati; ad esempio, per ottenere un testo corsivo neretto si
può scrivere:
<b><i>Questa riga è in neretto e corsivo</i></b>
La cosa importante è creare codice nidificato
a.a. 2006/2007
HTML: esempio stile carattere
a.a. 2006/2007
HTML: le righe orizzontali
•
L'elemento <hr> ha lo scopo di inserire una linea
orizzontale fra blocchi di testo o immagini all'interno di una
pagina Web. Si tratta di un marcatore che non richiede tag
di chiusura. Alcuni attributi applicabili sono:
•
size="n“ dove n indica lo spessore della riga (es.: <hr size="5">);
•
Noshade serve a eliminare l'effetto 'ombra' della linea (es.: <hr
noshade>);
•
width="n% | n" regola la larghezza della riga, sia in percentuale,
relativamente alla larghezza dello schermo, sia in assoluto, in pixel
(es.: <hr width="50%"> oppure <hr width="250">);
•
align="left | center | right“ allinea la riga rispettivamente a sinistra, al
centro e a destra, ad es.: <hr align="right" width="80%">
a.a. 2006/2007
HTML: esempio righe orizzontali
a.a. 2006/2007
HTML: Attributi del BODY
•
Ci sono degli attributi che possono essere aggiunti all'elemento <body> per
specificare l'aspetto del testo e dello sfondo in una pagina Web:
background="file-grafico"
•
permette di indicare un file grafico (in formato GIF o JPEG) che viene inserito sullo sfondo della pagina; se
l'immagine è più piccola rispetto alla pagina, essa viene automaticamente duplicata e affiancata alle sue copie
bgcolor="#colore RGB"
•
permette di assegnare un colore allo sfondo
text="#colore RGB"
•
indica il colore del testo all'interno della pagina
link="#colore RGB"
•
indica il colore dei link
vlink="#colore RGB"
•
indica il colore dei link già attivati
alink="#colore RGB"
•
a.a. 2006/2007
indica il colore dei link mentre si attivano con il mouse
HTML: i colori
Colore
Esadecimale
Arancione
#FF8000
Bianco
#FFFFFF
Blu
#0000FF
Celeste
#80FFFF
Giallo
#FFFF00
Grigio
#C0C0C0
Marrone
#804040
Nero
#000000
Rosa
#FF8080
Rosso
#FF0000
Verde
#00FF00
Viola
#8080FF
a.a. 2006/2007
• Il valore che segue l’attributo
BGCOLOR è un valore esadecimale
che indica il colore.
• Il colore è dato dalla fusione dei tre
colori principali, il Rosso, il Verde e il
Blu.
• Le prime due cifre indicano la
quantità di Rosso, le seconde la
quantità di Verde mentre le terze la
quantità di Blu (#rrvvbb).
Tabella dei colori ai siti
http://www.molly.com/molly/webdesign/136_colors.html
http://www.molly.com/molly/webdesign/colorchart.html
HTML: esempio tabella di colori
a.a. 2006/2007
HTML: esempio colore di sfondo (1/2)
<HTML>
<HEAD>
<TITLE>IMMAGINE</TITLE>
</HEAD>
<BODY BGCOLOR=“#00FF00”>
<B> Prova colore sfondo</B>
<P>
</BODY>
</HTML>
a.a. 2006/2007
HTML: esempio colore di sfondo (2/2)
a.a. 2006/2007
HTML: dimensionamento dei caratteri (1/2)
Nel caso di dimensionamento in termini assoluti si
usa il seguente marcatore:
<font size="n">testo</font>
Dove 'n' è un numero che va da 1 a 7, ad es.:
<font size="4">Prova</font>.
• La dimensione normale del font è 3. Dunque se
si usano gli indici 1 o 2 si ottiene un font ridotto
rispetto al testo normale, mentre con 4, 5, 6 e 7
si ottiene un font ingrandito.
a.a. 2006/2007
HTML: dimensionamento dei caratteri (2/2)
• Nel caso di dimensionamento in termini relativi si
usa la seguente marcatura:
<font size="+/- n">testo</font>
• In questo caso n può variare da -2 a +4. Usando in
modo combinato i vari tag è possibile ottenere
effetti come questo:
<font size="+4">H</font><font size="+3">
E</font><font size="-1">L</font><font
size="+2">LO</font>
a.a. 2006/2007
HTML: le immagini
<HTML>
<HEAD>
<TITLE>Esempio pagina contenente una IMMAGINE</TITLE>
</HEAD>
<BODY BGCOLOR=“#000000”>
<IMG SRC="tango1.jpg" alt="Hugo Pratt/Corto Maltese e il tango">
<P>
</BODY>
</HTML>
•
•
Se il file che contiene l’immagine non si trova nella stessa
directory del file html che lo include, si dovranno specificare
anche i nomi delle directory (cartelle) fino a quella in cui si trova
il file HTML (specificare il path), separati dalla barra (/) , in
questo modo: < img src='‘immagini/tango1.jpg''>
L’attributo alt
a.a. 2006/2007
HTML: esempio immagine
a.a. 2006/2007
HTML: immagine in movimento
<HTML>
<HEAD>
<TITLE>Esempio pagina contenente una IMMAGINE</TITLE>
</HEAD>
<BODY>
<FONT SIZE="3" COLOR="BLUE">
ESEMPIO DI IMMAGINE in movimento (orizzontale)</FONT>
<P>
<MARQUEE>
<IMG SRC="lungomaltese.jpg">
</MARQUEE>
</P>
</BODY>
</HTML>
a.a. 2006/2007
HTML: attributi del tag <img>
L'elemento <img> è corredato da diversi attributi:
•
per modificare le dimensioni (consigliati programmi di grafica) si può disporre degli attributi
width e height . Ad esempio: <img scr
scr=”esempio.gif” height
height=“150” width
width=“45”>
>
•
Attributo alt consente di inserire un testo accanto all’immagine:
•
Attributo align per definire posizione dell'immagine rispetto al testo
align =“top”
alt=”testo alternativo”
alt=
testo allineato in alto
align =“middle” testo allineato in centro
align =“bottom” testo allineato in basso
Altri attibuti
hspace =
spaziatura orizzontale (in pixel)
vspace =
spaziatura verticale (in pixel)
border =
•
in pixel
Come già detto, un’immagine può essere usata anche come sfondo: <body
background=“path completo”>
background
>
a.a. 2006/2007
HTML: link e riferimenti
I documenti HTML sono degli ipertesti il cui funzionamento è dovuto agli HyperLink o
ancoraggi, il cui tag specifico è <A>: <A HREF>
•
L'elemento <A> (Anchor) ha bisogno di un tag di apertura e chiusura e al suo interno
è possibile inserire testo, immagini o altri elementi multimediali.
•
HREF (abbreviazione di Hypertext Reference) contiene l'URL o la pagina da linkare:
<A HREF="http://www.repubblica.it/"> Visita il sito del quotidiano “La
Repubblica”</A>
•
•
E' possibile sostituire al testo un'immagine
Grazie a TARGET è possibile caricare un pagina associata a HREF in un'altra finestra
del browser, attraverso la seguente sintassi:
<A HREF=“http://www.ciao.it” TARGET="_new">Visita www.ciao.it </A>
• L'attributo TARGET="_new" indica al browser di caricare il link a http://www.ciao.it in
una nuova (_new) finestra.
•
a.a. 2006/2007
HTML: link a mail
• E' possibile inserire collegamenti anche verso
indirizzi e-mail, attraverso una sintassi
leggermente diversa da quella indicata per le
URL:
<A HREF="mailto:[email protected]">Scrivimi!</A>
• Cliccando su questo link viene automaticamente
aperto il programma di posta predefinito con il
campo TO/A già impostato su
[email protected].
a.a. 2006/2007
HTML: le tabelle
Per creare una tabella in HTML si usano i tag:
<table>…….</table>
all’interno dei quali si deve definire il contenuto della tabella.
Per definire una tabella si procede nel modo seguente:
•
si realizza la prima riga facendo uso del tag <tr> = table row
•
si indicano le varie celle facendo uso:
• del tag <th> per le intestazioni di cella </th> = table header
• del tag <td> per i dati della cella </td> = table data
•
a.a. 2006/2007
si passa alla seconda riga con le relative celle avendo cura di usare il tag </tr>
HTML: esempio tabelle (1/2)
<HTML>
<HEAD><TITLE>Esempio di TABELLA</TITLE>
</HEAD>
<BODY>
<CENTER>
Tabella<P>
<TABLE border=1>
<TR><TD>uno<TD>due
<TR><TD>tre <TD>quattro
<TR><TD>cinque<TD>sei
</TABLE>
</CENTER>
</BODY>
</HTML>
a.a. 2006/2007
HTML: esempio tabelle (2/2)
a.a. 2006/2007
HTML: attributi tabelle
border="n" (es.: <table border="1">)
•
rende visibile il bordo della tabella. Il valore n è in pixel.
cellpadding="n" (es.: <table cellpadding="10">)
•
è lo spazio tra il bordo della tabella e il testo contenuto all'interno delle celle.
cellspacing="n" (es.: <table cellspacing="5">)
•
è la distanza tra una cella e un'altra.
width="n | n%" (es.: <table width="100%"> oppure <table width="250">)
•
la larghezza della tabella relativamente allo schermo, espressa con i valori
percentuali, oppure in assoluto, in pixel.
bgcolor="#rrggbb" (es.: <table bgcolor="#FF0000"> oppure < table bgcolor="red">)
•
determina il colore di sfondo della tabella. La sintassi di rrggbb è la medesima vista
per attribuire colori allo sfondo del documento o ai caratteri. In alternativa ai valori
esadecimali si possono anche qui usare i nomi dei colori, in inglese (red, green,
ecc.).
a.a. 2006/2007
HTML: caratteri speciali
CARATTERI SPECIALI:
<
>
≤
≥
°
à
é
è
ì
ò
ù
&
 
€
APICE E PEDICE:
<sup>
</sup>
<sub>
</sub>
a.a. 2006/2007
>
<
≤
≥
°
à
é
è
ì
ò
ù
&
spazio
€
HTML: i frame
•
Una pagina WEB può essere suddivisa in più aree
indipendenti denominate frame.
•
Permettono di visualizzare più elementi di interesse
primario
•
Migliorano l’aspetto finale della pagina WEB
•
E’ consigliabile non eccedere nel loro uso per non
appesantire la realizzazione del sito.
•
Un punto a loro sfavore è l’incompatibilità con alcuni
browser che non supportano il loro utilizzo per cui, di
norma, si crea una versione del sito con frame ed una
versione senza frame.
a.a. 2006/2007
HTML: un esempio di utilizzo dei frame
FRAME PER IL
DOCUMENTO
FRAME
DI
NAVIGAZIONE
HOME
CONTENUTO
Link1
DELL’HOME PAGE
Link2
Link3
a.a. 2006/2007
HTML: suddivisione orizzontale con frame
Oppure…
RIGA
RIGA
a.a. 2006/2007
HTML: tag per creare i frame
Occorre utilizzare i TAG
<FRAMESET> </FRAMESET>
che servono per delimitare la definizione di
tutta la struttura
… e i TAG
<FRAME SRC=“nome1.htm” NAME=alias1>
<FRAME SRC=“nome2.htm” NAME=alias2>
che servono per definire il nome
convenzionale delle righe o delle colonne
a.a. 2006/2007
HTML: tag per creare i frame
• <frameset> è il tag iniziale (sostituisce a tutti gli effetti il tag
<body>) e raccoglie la descrizione dei frame presenti nella
<body>
pagina. Quando la lista dei frame termina, si inserisce il tag
finale </frameset>
• Il tag <frame> serve alla definizione di ogni singolo frame e
non necessita di chiusura dato che esso termina quando se ne
definisce uno nuovo oppure quando si usa il tag </frameset>
• Per organizzare una pagina con frame occorre dapprima
costruire e predisporre le pagine html che riempiranno i diversi
frame e successivamente definire i frame all’interno della
pagina principale.
a.a. 2006/2007
HTML: frame, struttura colonne
<HTML>
<HEAD>
<TITLE>Pagina con Frame</TITLE>
</HEAD>
<FRAMESET COLS=“15%, 85%">
<frame src=“primo.html" name="menu">
<frame src=“secondo.html" name="mypage">
</FRAMESET>
</HTML>
a.a. 2006/2007
HTML: frame, struttura colonne
a.a. 2006/2007
HTML: frame, struttura righe
<HTML>
<HEAD>
<TITLE>Pagina con Frame</TITLE>
</HEAD>
<FRAMESET ROWS="25%, 75%">
<frame src=“primo.html" name="menu">
<frame src=“secondo.html" name="mypage">
</FRAMESET>
</HTML>
a.a. 2006/2007
HTML: frame, struttura righe
a.a. 2006/2007
HTML: commenti
•
Sintassi per un commento (ovunque nel file):
<!--commento-->
•
Utilizzati per segnalare delle sezioni di codice o
altre informazioni utili a chiunque utilizzi la
pagina HTML
•
NON interpretate da BROWSER
•
Utilizzare la scrittura indentata (soprattutto per
programmi particolarmente lunghi)
a.a. 2006/2007
Recenti evoluzioni di HTML: fogli di stile
• HTML tradizionale: i tag sono usati sia per
specificare la struttura che l’aspetto del
documento.
• Problemi di manutenibilità, compatibilità, verifiche di
correttezza, etc..
• Separazione:
• HTML sempre più orientato alla struttura (tag come
<font …> destinati a cadere in disuso)
• Gli stylesheets specificano come una pagina deve
apparire
a.a. 2006/2007
HTML: CSS
• CSS (Cascading Style Sheet): File (o area del
sorgente HTML) in cui viene definito l’aspetto
desiderato per gli elementi di una pagina Web.
body { color: purple }
body { background-color: #d8da3d; font-weight: normal }
h1 { font-family: Helvetica, Geneva, Arial, sans-serif }
a:link { color: blue }
a:visited { color: purple }
.titolo { color: white; background: red; }
.sottotitolo { color: red; background: white; }
a.a. 2006/2007
HTML: fogli di stile collegati
<HTML>
<HEAD>
<TITLE>Usare i fogli di stile</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="stile.css">
</HEAD>
<BODY>
...
</BODY>
</HTML>
•
Lo stesso file può essere richiamato da più pagine Web !
•
Gli attributi del tag <LINK …>
•
•
•
•
REL: descrive il tipo di relazione tra il documento e il file collegato. Per i CSS due sono i
valori possibili: stylesheet e alternate stylesheet.
HREF: serve a definire l'URL assoluto o relativo del foglio di stile.
TYPE: identifica il tipo di dati da collegare. Per i CSS l'unico valore possibile è text/css.
MEDIA: con questo attributo si identifica il supporto (schermo, stampa, etc) cui applicare
un particolare foglio di stile. Unico di questi attributi ad essere opzionale.
a.a. 2006/2007
HTML: fogli di stile incorporati
• Lo “stile” va comunque indicato all’interno della
sezione HEAD:
<HTML>
<HEAD>
<TITLE>Usare i fogli di stile</TITLE>
<STYLE TYPE="text/css">
body {
background: #FFFFCC;
}
</style>
</HEAD>
<BODY>
...
</BODY>
</HTML>
a.a. 2006/2007
HTML: fogli di stile in linea
• Ad esempio, si vuole formattare un titolo H1 in
modo che abbia il testo di colore rosso e lo
sfondo nero, scriveremo:
<h1 style="color: red; background: black;">...</h1>
a.a. 2006/2007
HTML: Quando usare i diversi tipi di CSS
•
In base al meccanismo del cascading, si
sfruttano le priorità:
1. In linea
2. Incorporati
3. Collegati
•
Nota: l'uso estensivo di fogli in linea rischia di
compromettere uno dei principali vantaggi dei CSS,
ovvero avere pagine più leggere e facili da gestire. Il
loro uso è ultimamente considerato deprecato anche
dal W3C
a.a. 2006/2007
HTML: stile_di_esempio.css
/* Definisco le regole per il corpo del documento */
body {
background: White; /* Prima dichiarazione: notate il punto e virgola finale!*/
font-family: Verdana, Geneva, Arial, Helvetica; /* Seconda dichiarazione*/
font-size: 12px; /* Terza dichiarazione */
}
/* Titolo di primo livello */
h1 { color: black; }
/* Paragrafo generico */
p {
color: black;
font: 12px/1.5 Georgia, "Times New Roman", serif;
}
#div1 {
background: Silver; /* Sfondo color argento */
width: 300px;
}
#div2 {
background: Silver; width: 300px; position: absolute; top: 400px; left: 400px;
}
a.a. 2006/2007
HTML: sintassi dei fogli di stile
• Come è fatta una regola:
a.a. 2006/2007
HTML: CSS – Selettore Class
• Per definire una classe si usa far precedere il nome da
un semplice punto:
<style type="text/css">
.testorosso {
font: 12px Arial, Helvetica, sans-serif;
color: #FF0000;
}
</style>
• Per applicarla ad un elemento della pagina Web:
<p class="testorosso"> In questo paragrafo
parleremo di ....</p>
a.a. 2006/2007
HTML: CSS – Selettore ID
• La sintassi per la definizione di un ID. Basta far
precedere il nome dal simbolo di cancelletto:
<style type="text/css">
#titolo {color: blue;}
</style>
• Per applicarla ad un elemento della pagina Web:
<h1 id="titolo"> Titolo dell’articolo...</h1>
a.a. 2006/2007
HTML: CSS – Classe o ID ?
• I selettori di tipo Class e ID funzionano nello stesso
modo, ma con una sola fondamentale differenza: è ad
essa che dovete fare riferimento per scegliere se
usare una classe o un ID.
• In un documento (X)HTML l'attributo id è usato per
identificare in modo univoco un elemento. In pratica,
se assegno ad un paragrafo l'id "testorosso", non
potrò più usare questo valore nel resto della pagina.
Di conseguenza, l'ID #testorosso dichiarato nel CSS
trasformerà solo quel paragrafo specifico.
• Una singola classe, al contrario, può essere
assegnata a più elementi, anche dello stesso tipo.
a.a. 2006/2007
HTML: CSS – Pseudo
Pseudo--classi
• Una pseudo-classe non definisce un elemento ma un
particolare stato di quest'ultimo. In pratica imposta uno stile per
un elemento al verificarsi di certe condizioni.
• La seguente regola vuol dire: i collegamenti ipertestuali (<A>)
che non siano stati visitati (:link) avranno il colore blue.
a:link {color: blue;}
La seguente regola vuol dire: i collegamenti ipertestuali
(<A>) che sono stati visitati (:visited) avranno il
colore purple.
a:visited { color: purple }
a.a. 2006/2007