HTML soffre di limiti propri di un sistema di
contrassegno ideato per scopi molto lontani da quelli attualmente
richiesti dal Web Design. L'HTML è stato progettato per gestire singole
pagine. Se ciò ha generato la definizione di un linguaggio semplice e
diretto, non è più aderente alle necessità di siti spesso composti da
migliaia di pagine. A questo si affianca il problema incontrato dai
grafici professionisti riguardo la difficoltà di posizionamento
all'interno del documento di immagini e testo; questi limiti risultano
fastidiosi e spesso immobilizzanti, per i professionisti.
Posizionare un'immagine, creare una banda laterale, giustificare del
testo in HTML diventa un problema risolvibile esclusivamente con
strumenti nati per tutt'altro scopo (le tabelle, per esempio, nel 90%
dei casi vengono utilizzate per posizionare elementi nella pagina,
invece che per ordinare dati).
A queste problematiche HTML 4.0 cerca di far fronte adottando i fogli di
stile, i quali possono essere inseriti all'interno di un documento
iperstestuale in tre modi:
-
attraverso un file esterno;
-
attraverso l'intenstazione generale di ogni
singolo documento;
-
attraverso la specifica degli attributi nel
singolo TAG.
Sfruttando i fogli di stile è possibile modificare la struttura di
diverse pagine agendo su un unico file esterno che ne determina
l'aspetto. La marcatura HTML dovrà, quindi, tornare alla sua originaria
funzione di definizione della struttura logica del documento, lasciando
ai fogli di stile la gestione del layout di pagina. Alcuni linguaggi
specializzati come il CSS (Cascading Style Sheets) permettono di riunire
direttive di stile provenienti da fonti diverse, facendo prevalere le
une alle altre in base alle scelte del webmaster.
Il problema, in termini più tecnici, riguarda la classica separazione
SGML tra stile, contenuti e
struttura. HTML "tradizionale" non soddisfa questa condizione,
ma anzi, ne esaspera la confusione.
esempio :
Ma
cosa significa separare lo stile dai contenuti?
Consideriamo un sito Web mediamente complesso, con un numero di
pagine HTML pari a 100. Poniamo che il testo adottato per
l'esposizione degli argomenti sia un "arial" corsivo. Con gli
strumenti classici di HTML il codice per ottenere questo risultato
e':
<FONTFACE="ARIAL"><I>Testo della pagina</I></FONT>
ripetuto in
tutte le 100 pagine del sito, a chiusura e apertura del testo da
formattare.
Ma cosa succede nel momento in cui scegliamo di modificare
il tipo di carattere a tutte le pagine?
Non c'e' altra soluzione che aprire le 100 pagine e procedere ad
altrettante modifiche (devo modificare ogni tag), che sostituiscano
il nome "arial" con il nuovo font scelto.
Un webmaster di medie capacita' puo' impiegare solo qualche decina
di minuti, che diventano ore per siti di grandi dimensioni; questa
perdita di tempo e' diretta conseguenza della promiscuita' tra stile
e contenuto, laddove il primo (il tag FONT) non e' separato dal
secondo (il testo della pagina).
Viene da se' che la soluzione a questo problema e' nella separazione
tra i due elementi sopracitati, che nella pratica si risolve
adottando i Cascading Style Sheets, da tempo introdotti nel
Web publishing, ma che solo ultimamente hanno conosciuto una grande
diffusione.
CSS non è un qualcosa di sè stante, ma lavora in
abbinamento al linguaggio HTML; possiamo pensarlo come un semplice
meccanismo per aggiungere dello stile ad una pagina in HTML. Più
precisamente un foglio di stile è un set di regole stilistiche che
descrivono come un documento HTML verrà presentato all'utente.
Visto in quest'ottica, HTML viene usato per descrive la struttura del
documento e le sue varie parti incurandosi del suo aspetto, di come
verrà presentato al lettore che dovrà leggere il documento. CSS in
seguito descrive come gli elementi della pagina HTML verranno presentati
al lettore del documento stesso.
Usando CSS il Designer può specificare la presentazione della
pagina HTML in maniera indipendente dal contenuto; in questo
modo ottengo una separazione dei compiti fra produzione di un documento
e sua presentazione al mondo Word Wide Web.
Questa tecnologia inoltre gode di un ulteriori proprietà: è molto
flessibile in quanto fornita di un meccanismo capace di propagare un
determinato aspetto presentazionale su tutte le pagine che il Web
Designer vuole siano interessate, cosicchè una modifica di
presentazione fatta in un unico file si ripercuote a tutti i documenti
che ne fanno riferimento; questa è una proprietà molto potente
perchè permette di semplificare notevolmente il lavoro di revisione e
mantenimento delle pagine di un sito Web.
Inoltre CSS mette in piedi un meccanismo noto con il termine "a
cascata" (cascading) per cui e' possibile incorporare nel documento
differenti fogli di stile, tale caratteristica è in grado di
distinguere e scegliere fra più possibili aspetti presentazionali che
possono rispecchiare la volontà di visualizzare a video di un documento
in un certo modo da parte del Web Designer, dell'utente
o dalle opzioni del Browser, risolvendo eventuali
conflitti, in base a regole gerarchiche facendo prevalere uno stile
sull'altro.
|