Utente:Sassospicco/bozza CSS: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 3:
I '''fogli di stile a cascata''' (dall'inglese '''CSS''' ''Cascading Style Sheet'' sono il linguaggio definito 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.
==
=== Prima dei CSS ===
Riga 12:
I '''[[browser]]''' che interpretano il codice (X)HTML mostrano all'utente '''formattazioni predefinite''' per ogni tag che incontrano (così ad esempio i contenuti marcati con il tag <code><h1></code> avranno carattere ''18pt'' e i contenuti marcati da <code><p></code> avranno carattere ''12pt''). 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. Esempi di questi tag sono <code><font></code>.
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:
Riga 18:
#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_(informatica)#Il_.27.27bit.27.27_come_cifra_binaria|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_palmare|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
Si tende ad evidenziare anche un ulteriore questione, nelle pagine web non standard, ovvero l'uso del tag <code><table></code> (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
I CSS 1 erano un sistema 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. Il problema due è quasi completamente
▲=== CSS 2 ===
<!-- Il codice della pagine non standard, rappresenta quella che è stato definita una '''zuppa di codice'''. Una zuppa di codice è un codice che contiene elementi non validi (come il tag <code><marquee></code>), elementi usati per uno scopo diverso da quello per il quale sono stati creati (come il tag <code><table></code>), elementi usati solo per le loro capacità di formattazione e non per il loro scopo originario (come il tag <code><h5></code> annidato dentro un <code><h1></code>). -->
| |||