Utente:Sassospicco/bozza CSS
Questa pagina è un ambizioso tentativo di produrre una nuova versione di "Foglio di stile", che è stata sospettata di violazione di copyright.
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.
Filosofia 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 (ad esempio <h1> o <p>) specifica un diverso ruolo dei contenuti che contrassegna (quindi il tag <h1> definirà un'importanza maggiore del tag <p>).
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 <h1> avranno carattere 18pt e i contenuti marcati da <p> 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 <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 presentavano due problemi, il primo di tipo molto concreto, il secondo più filosofico.
- 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 necessità di mantenere una logica nel codice (X)HTML. Il codice della pagine non standard, infatti, rappresenta quella che è stato definita una zuppa di codice. Una zuppa di codice è un codice che contiene elementi non validi (come il tag
<marquee>), elementi usati per uno scopo diverso da quello per il quale sono stati creati (come il tag<table>), elementi usati solo per le loro capacità di formattazione e non per il loro scopo originario (come il tag<h5>annidato dentro un<h1>).