Fogli di Stile a Cascata - CSS

 
Livello num.
  1. Informazioni Generali sul Sito
  2. Il Sito Web
  3. Informazioni Tecniche
  4. Fogli di Stile a Cascata - CSS
Revisione
n. 0 - 03/05/2006 - autore A. Pone - E. Pone
Visualizzazioni : 1.429
 
I fogli di stile a cascata (dall'inglese CSS - Cascading Style Sheet) sono un insieme di regole redatte dal W3C (World Wide Web Consortium) per definire l'aspetto delle pagine HTML e XHTML.
La loro creazione, avvenuta nel 1996 si è resa necessaria per separare i contenuti dalla formattazione e imporre una programmazione più chiara e facile da utilizzare, sia per l'autore che per l'utente.
Viene di seguito illustrata, in grandi linee, l'evoluzione dei CSS.

Prima dei CSS

Una pagina web è formata fondamentalmente da due elementi: i contenuti veri e propri che la pagina intende fornire e la formattazione ovvero l'aspetto con cui i contenuti saranno mostrati all'utente.
Il linguaggio HTML (e la sua evoluzione XHTML) ha come scopo quello di gestire i contenuti, specificandone la struttura attraverso tag diversi.
Ogni tag specifica un diverso ruolo dei contenuti che contrassegna e ne definisce l'importanza.
I browser che interpretano il codice (X)HTML mostrano all'utente formattazioni predefinite per ogni tag che incontrano.
Tuttavia questa formattazione è completamente sotto il controllo dell'utente, che può modificarla nelle Impostazioni del suo browser.
Per permettere agli autori di definire l'aspetto delle loro pagine, dal 1993 in poi Netscape Navigator ed Internet Explorer, i due browser che si disputavano gli utenti nella nota guerra dei browser, presentarono tag proprietari, ovvero non aderenti agli standard e non compatibili con i browser concorrenti.
Un esempio di questi tag è "font".
Questi tag proprietari di formattazione erano l'unico modo per gli autori di definire la formattazione e così il loro uso è diventato massiccio.
Tuttavia questi tag presentano tre problemi:
  • il primo problema è costituito dalla lunghezza di questi tag. Se confrontata con una pagina che adotta il linguaggio CSS, una pagina che non lo adotta è in genere più pesante (in termini di bit) in un rapporto che spesso raggiunge il 200%. Inoltre le istruzioni CSS possono essere raccolte in un file esterno che rimane memorizzato nella cache del browser, riducendo ulteriormente la quantità di dati che i server devono trasmettere.
  • il secondo problema risiede nella mancanza di logica del codice (X)HTML. Un codice non aderente agli standard, ridondante e confuso comporta infatti molto lavoro aggiuntivo per i browser, che devono cercare di correggere ed interpretare (quando possibile) direttive arbitrarie.
  • il terzo problema comincia a diventare sempre più rilevante ed è la mancanza di compatibilità con i nuovi computer palmari e gli smartphone. Queste pagine infatti sono progettate per schermi con risoluzione minima 800x600 pixel. I palmari, che hanno una risoluzione inferiore ed una forma dello schermo ben diversa dal rapporto 4:3 dei monitor per computer, si trovano quindi impossibilitati a visualizzare correttamente la pagina e l'utente dovrà tentare di "decodificarla", operazione spesso molto scomoda.

Si tende ad evidenziare anche un ulteriore questione, nelle pagine web non standard, ovvero l'uso del tag "table" (le tabelle) per realizzare l'impaginazione delle pagine web.
Questo viene considerato dai puristi come inaccettabile in quanto le tabelle sono pensate per impaginare dati tabulari e non layout web.
In realtà l'unico svantaggio serio di questo sistema è l'incredibile peso delle pagine, come già indicato al problema 1.

CSS 1

Per tentare di risolvere questa situazione, nel 1996 il W3C emanò le specifiche CSS 1.
I CSS 1 erano un interessante sistema per separare contenuto da formattazione.
La base di questo linguaggio, infatti consisteva nel fatto che il contenuto sarebbe stato sempre definito dal codice (X)HTML, mentre la formattazione si sarebbe trasferita su un codice completamente separato, il CSS appunto.
I richiami tra i due codici venivano effettuati tramite due particolari attributi: class e ID.
Queste specifiche:
  • erano un'efficace soluzione al primo problema (escludendo la questione del tag "table") perché riducevano notevolmente le dimensioni della pagine.
  • risolvevano il secondo in modo parziale perché consentivano al codice (X)HTML di ritornare in gran parte semplice ed essenziale, ma presentavano qualche mancanza che costringeva a ricorrere ai tag HTML.

  • non prendevano però in considerazione il terzo, dato che nel 1996 i PDA erano scarsamente diffusi.

I CSS 1 sviluppavano un'idea semplice ma efficace, ma nonostante le loro grandi potenzialità non ebbero successo a causa della mancanza di browser in grado di supportarli.

CSS 2 e CSS 2.1

Per includere nuove funzionalità e rendere i CSS un linguaggio ben supportato, nel 1998 il W3C emanò le specifiche CSS 2 e nel 2004 le specifiche CSS 2.1.
I CSS 2 sono la naturale evoluzione dei CSS 1 ed offrono potenti soluzioni per risolvere soprattutto il problema tre, con la possibilità di creare fogli di stile separati per i dispositivi portatili.
Anche il problema due è ormai pienamente risolvibile, scrivendo una pagina (X)HTML esclusivamente indirizzata alla struttura e ai contenuti e manovrandola poi esclusivamente con i CSS per impaginarla.
Con la comparsa di Internet Explorer 5, di Firefox e di Opera 7, i CSS 2 hanno potuto avvalersi di browser in grado di interpretarli e sono quindi entrati a far parte del codice di molti siti web.

CSS 3

Le specifiche CSS 3 non sono state ancora rilasciate, sebbene il W3C pubblichi costantemente informazioni sulle novità in fase di sviluppo.
I CSS 3 dovrebbero presentare soluzioni per la correzione di alcuni bachi di interpretazione di Internet Explorer, migliorie nella gestione degli sfondi e una soluzione per realizzare i bordi arrotondati la cui realizzazione affligge i webdesigner da tempo.

Internet Explorer e CSS

Il supporto completo e corretto delle specifiche CSS non è offerto da nessun browser attuale.
Tuttavia esistono browser che si avvicinano molto a questo risultato ed altri che invece ne sono molto lontani.
Internet Explorer è attualmente il browser più diffuso e il suo supporto molto scarso dei CSS è probabilmente il maggior freno al loro sviluppo.
Explorer presenta infatti molti bachi nella formattazione delle pagine, che le rendono diverse da quelle ottenute con altri browser.
In aggiunta ai bachi, Explorer non supporta assolutamente alcune porzioni delle specifiche CSS 2.
Le mancanze più gravi sono l'assenza di supporto per i contenuti generati e per il selettore di attributo.
Gli unici strumenti a disposizione dei web designer sono i commenti condizionali, una particolare funzionalità di Explorer che consente di inviare istruzioni solo a questo browser.
© 2006-2026 Alessandro PONE ed Edoardo PONE
Licenza Creative Commons
Versione 11.0 - HTML5 - .Net - MS-SQL - Responsive - Ajax
Ponesoft Machine

loading...

Elaborazione in corso...

Si è verificato un errore.
Contattare l'amministratore di sistema comunicando il seguente messaggio:

I dati verranno salvati nel database.

Confermi il salvataggio?

Questo record verrà cancellato definitivamente e non potrà essere recuperato.

Confermi la cancellazione?

Prima di procedere occorre confermare l'esecuzione del comando selezionato.

Confermi l'esecuzione?

Sono stati commessi degli errori nell'inserimento dei dati. Un apposito messaggio posizionato sotto ogni campo errato segnalerà il tipo di errore commesso.

Non sono presenti record in archivio.

Si è tentato di duplicare il valore della Chiave Primaria di una Tabella.

Errore nella verifica di User ID e Password.
Rieffettuare il Log-In.