Marinsalta.net

Dal 04-02-2002

Si sviluppano Siti Web

Precedente Indice Successiva

Definizione di Css (Cascading Style Sheet )

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.

 

Precedente Indice Successiva