
I CSS (fogli di stile) sono un protocollo ideato dal W3C, utile a definire la formattazione dei contenuti web in modo semplice e univoco.
Origine
Le pagine web si compongono essenzialmente di due parti; la formattazione (cioè l’aspetto con cui gli utenti infine le visualizzano) e i veri e propri contenuti. La gestione dei contenuti è l’obiettivo di HTML e del linguaggio che ne costituisce l’evoluzione, cioè XHTML, attraverso l’utilizzo dei cosiddetti tag; ognuno di questi tag ha il compito di precisare e anche gerarchizzare la funzione della porzione di contenuto che racchiude.
I browser che riescono a decodificare e rendere visualizzabili i documenti in (X)HTML prevedono un tipo di formattazione standard per ognuno dei tag, da mostrare agli utenti; il marcatore ad esempio rende visibile il suo contenuto in carattere 18pt, il marcatore in 12pt e così via. L’utente tuttavia ha sempre la formattazione sotto il suo controllo, infatti può modificarne le opzioni come vuole attraverso le impostazioni del browser che usa. Dal 1993 IE e Netscape, allora impegnati nella cosiddetta “lotta dei browser” per accaparrarsi gli utenti, introdussero dei tag proprietari differenti dagli standard (per esempio il marcatore ), in modo che fossero incompatibili con i browser della concorrenza; questi marcatori proprietari si diffusero presto in maniera significativa, essendo l’unico modo in cui gli autori potevano decidere della formattazione.
I problemi dei tag proprietari sono essenzialmente tre: la loro lunghezza (in confronto alle pagine che ricorrono ai CSS sono molto più pesanti per quanto riguarda i bit, spesso addirittura del 200% rispetto ad esse. Le istruzioni contenute nei fogli di stile possono inoltre essere trasferite in file esterni che restano salvati nella cache sul browser, in modo da ridurre ulteriormente il numero di informazioni che il server poi ha il compito di trasmettere); la scarsa logica del linguaggio (X)HTML (non aderisce agli standard, è un codice piuttosto confuso e ripetitivo che implica lo svolgimento di molto lavoro in più a carico del browser, il quale deve provvedere all’interpretazione e alla correzione dell’arbitrarietà delle istruzioni che riceve); la mancata compatibilità con smartphone e palmari, problema sempre più significativo (le pagine sono infatti ideate per essere visualizzate su schermi da minimo 800x600pixel di risoluzione, e sia palmari che smartphone si differenziano fortemente dai monitor 4:3 per pc, avendo risoluzione di molto inferiore. Con i palmari quindi non sarà possibile una corretta visualizzazione delle pagine e gli utenti dovranno interpretarla e decodificarla, cosa non molto comoda da fare).
Un altro problema potrebbe essere rappresentato dall’uso del marcatore (tabelle) per l’impaginazione di quelle pagine web le quali si distaccano dagli standard in vigore. I puristi ritengono che questo non sia accettabile, perché le tabelle servono di norma all’impaginazione di dati tabulari, non per i layout web. Il solo, vero svantaggio significativo di questo sistema è comunque l’ingente peso di ciascuna delle pagine in termini di bit, ovvero il problema che abbiamo analizzato per primo.
Versione 1
Un tentativo di risoluzione di questi problemi è costituito dalle specifiche CSS 1, ideate nel 1996 dal W3C; essi hanno il compito importantissimo di separare formattazione e contenuto. La formattazione viene infatti passata su di un file del tutto separato dal contenuto, il quale continua ad essere definito e regolato dal codice (X)HTML, normalmente. Gli attributi class e id hanno il compito di richiamare i due codici tra loro effettuando dei collegamenti.
Queste specifiche costituivano un’ottima soluzione sia al primo problema di cui abbiamo trattato nel paragrafo precedente, in quanto le pagine venivano ridotte di molto in termini di peso, che parzialmente al secondo (in quanto permettevano al linguaggio (X)HTML di tornare alla sua semplicità ed essenzialità, pur mantenendo qualche falla da “tappare” con i tag di HTML stesso) ma non al terzo problema, in quanto nel 1996 i palmari (PDA) non erano per niente diffusi come invece lo sono oggi. L’idea che sta alla base dei CSS1 era semplice ma molto efficace, tuttavia essi non riscossero molto successo perché pochissimi browser (quasi nessuno) possedeva i requisiti necessari a supportarli.
Versione 2
Per aumentare le possibilità e la portabilità su browser dei CSS 1, nel 1998 e nel 2004 W3C creò le specifiche rispettivamente 2 (naturale passo avanti della prima versione, prendono in considerazione, il problema della visibilità delle pagine sui palmari, e sono capaci di realizzare fogli di stile a parte per tutti questi apparecchi portatili) e 2.1.
La questione del problema numero due è anch’essa ormai risolvibile attraverso la realizzazione di una pagine (X)HTML appositamente creata per la sola struttura e lavorata poi solo con i fogli di stile ai fini della sua impaginazione. Firefox, Opera 7 e IE 5 hanno permesso con il loro avvento una maggiore portabilità dei CSS 2, i quali hanno potuto essere supportati finalmente da ogni browser in grado di utilizzarli e sono entrati ad appartenere ai codici di un gran numero di siti internet.
Versione 3
Le CSS 3 in realtà non sono ancora state emanate, anche se il W3C pubblica con costanza aggiornamenti sui propri progetti in via di sviluppo e su altre novità simili. Dovrebbero teoricamente poter risolvere alcuni problemi interpretativi di Internet Explorer, migliorare la qualità di gestione degli sfondi e risolvere anche i problemi di moltissimi webdesigner, legati alla realizzazione dei cosiddetti bordi arrotondati.



In carica...