Això és una traducció. Pot contenir errades o estar desfasada respecte a la versió anglesa. Traductor: Cluboid.com
Aquest és el capítol 20 del llibre Cascading Style Sheets, designing for the Web, escrit per Håkon Wium Lie i Bert Bos (2a edició, 1999, Addison Wesley, ISBN 0-201-59625-3)
La saga de CSS s'inicia el 1994. Un dels autors d'aquest llibre treballa al CERN - el bressol de la Web - i la Web comença a ser utilitzada com a plataforma d'edició electrònica. Falta una part crucial d'una plataforma editorial: no hi ha forma de donar format als documents. Per exemple, no hi ha una manera de descriure un format com el d'un diari en una pàgina web. Havent treballat en presentacions de diaris personalitats al MIT Media Laboratory, Håkon va veure la necessitat d'un llenguatge per donar format a pàgines Web.
Les fulles d'estil en els navegadors no eren una idea completament nova. La separació de l'estructura del document i del disseny del document havia estat un objectiu de HTML des dels seus inicis el 1990. Tim Berners-Lee va escriure el seu proper navegador/editor de tal manera que pogués determinar l'estil amb un full d'estil senzill. Tanmateix, no va publicar la sintaxi dels fulls d'estil, considerant que era un problema per a cada navegador decidir com mostrar millor les pàgines als seus usuaris. Altres navegadors, incloent Pei Wei's Viola (1992) i el navegador Harmony (1993) ( El sistema Hyper-G va ser un dels primers competidors de la Web) per al sistema Hyper-G tenia llenguatges semblants.
Però en comptes de fulls d'estil més avançats, els seguents navegadors oferien als usuaris menys opcions per editar l'estil. El 1993, va sortir NCSA Mosaic, el navegador que va fer popular a la xarxa. Pel que fa a estil, però, va ser un pas enrere ja que només permetia als usuaris canviar determinats colors i fonts.
Mentrestant, autors de pàgines web es queixaven que no tenien prou influència sobre com es veien les seves pàgines. Una de les primeres preguntes d'un autor nou a la Web va ser com canviar fonts i colors d'elements. HTML en aquest moment no proporcionava aquesta funcionalitat, i amb raó. Aquest extracte d'un missatge enviat a la llista de correu de www-talk a principis de 1994 dóna una idea de les tensions entre els autors i els implementadors:
(Aquest missatge està disponible a www-talk archive.)
De fet, ha estat una constant font de plaer per a mi durant l'últim any al arribar a dir contínuament a les hordes (literalment) de persones que volen -- poseu-vos el cinturo, aquí ve -- controlar la vista dels documents de maneres que seria trivial a TeX, Microsoft Word i en qualsevol altre entorn de processament: "Ho sento, estàs fotut".
L'autor del missatge va ser Marc Andreessen, un dels programadors de NCSA Mosaic. Més endavant es va convertir en el cofundador de Netscape i els seus punts de vista - si mai van ser els seus punts de vista - sobre com donar format havien canviat. El 13 d'octubre de 1994, Marc Andreessen va anunciar a www-talk que la primera versió beta de Mozilla (que més tard es va convertir en Netscape Navigator) estava disponible per fer proves. Entre les noves etiquetes, el nou navegador admès era center i més etiquetes van sortir després.
Tres dies abans que Netscape anunciés la disponibilitat del seu nou navegador, Håkon va publicar el primer esborrany de Cascading HTML Style Sheets. Darrere de les escenes, Dave Raggett (l'arquitecte principal d'HTML 3.0) havia encoratjat l'alliberament del projecte per sortir abans de la pròxima conferencia "Mosaic and the Web" (La conferència "Mosaic and the Web" es va celebrar del 17 al 20 d'octubre, 1995. Va ser la segona conferència que més tard es va convertir en la WWW Conference Series) a Chicago. Dave s'havia adonat que HTML no s'havia de convertir en un llenguatge de descripció de pàgina i que es necessitava un mecanisme més específic per satisfer els requisits dels autors. Encara que la primera versió del document era immadur, va proporcionar una base útil per a discussió.
Entre les persones que van respondre al primer esborrany de CSS va ser Bert Bos, el coautor d'aquest llibre. En aquella època estava construint Argo (El navegador Argo va formar part d'un projecte per fer accessible a Internet els estudiosos de Humanitats. Va incloure connectors (que anomenava "applets") abans que Netscape els afegís), un navegador altament personalitzable amb fulls d'estil i va decidir unir forces amb Håkon. Ambdues propostes son diferents del CSS actual, però no és difícil reconèixer els conceptes originals.
Una de les característiques del llenguatge d'estil Argo era que era suficientment general per aplicar a altres llenguatges de marques, a més d'HTML. Això també es va convertir en un objectiu de disseny en CSS i "HTML" aviat es va eliminar del títol de l'especificació. Argo també tenia altres funcions avançades que no es van usar en el nivell CSS 1, en particular els selectors d'atributs i el text generat. Ambdues funcions van haver d'esperar al CSS2.
El llenguatge CSS "Cascading Style Sheets" no era l'únic idioma d'estil proposat en aquell moment. Va haver-hi l'idioma de Pei Wei amb el navegador Viola, i Robert Raisch de l'editorial O'Reilly que n'havia escrit un altre, ja a principis de juny de 1993. Després hi va haver DSSSL, un estil complex i un llenguatge de transformació en desenvolupament a ISO per imprimir documents SGML. DSSSL també es podria aplicar a HTML. Però CSS tenia una característica que la distingia de tots els altres: es va tenir en compte que a la Web, l'estil d'un document no podia ser dissenyat per l'autor o el lector per si mateix, sinó que els seus desitjos s'havien de combinar , O "en cascada", d'alguna manera; I, de fet, no només els desitjos del lector i l'autor, sinó també les capacitats del dispositiu de visualització i del navegador.
Tal com estava previst, la proposta inicial de CSS es va presentar a la conferència Web de Chicago el novembre de 1994. La presentació durant el Dia del Desenvolupador va causar molta discussió. En primer lloc, el concepte d'equilibri entre autor i preferències d'usuari era nou. Una captura de pantalla fictícia mostrava un control lliscant amb l'etiqueta "usuari" d'una banda i "autor" de l'altra. Ajustant el control lliscant, l'usuari podia canviar la barreja de les seves pròpies preferències i les de l'autor. En segon lloc, CSS va ser percebut per alguns com massa senzill per a la tasca a la qual va ser dissenyat. Van argumentar que per poder documentar l'estil, es necessitava el poder d'un llenguatge de programació complet. CSS va anar en la direcció oposada exacta, fent un punt de no ser un format simple i declaratiu.
A la propera conferència de WWW a l'abril de 1995, CSS va ser presentat de nou. (WWW3, la tercera conferència de la sèrie WWW, es va celebrar els dies 10 i 14 d'abril de 1995 a Darmstadt, Alemanya). Tant Bert com Håkon hi van anar (de fet, aquesta era la primera vegada que ens vam conèixer personalment) i aquesta vegada també podríem mostrar implementacions. Bert va presentar el suport per fulls d'estil a Argo i Håkon va mostrar una versió del navegador Arena que havia estat modificat per donar suport a CSS. Sand va ser escrit per Dave Raggett com a bressol per a noves idees i una d'elles era fulls d'estil. El que va començar com a presentacions tècniques va acabar en discussions polítiques sobre l'equilibri de l'autor-lector. Els representants del grup "autor" argumentaren que l'autor havia de ser l'encarregat de decidir com es presentaven els documents. Per exemple, es va argumentar que pot haver-hi requisits legals sobre com s'ha d'imprimir etiquetes d'advertència i que l'usuari no hauria de poder reduir la mida de la font per a aquestes advertències. L'altre costat, on pertanyen els autors d'aquest llibre, argumenta que l'usuari, els ulls i les orelles, en definitiva, han de descodificar la presentació, haurien de tenir l'última paraula quan hi hagi conflictes.
Fora de les batalles polítiques, el treball tècnic va continuar. La llista de correu www-style es va crear el maig de 1995, i les discussions que hi ha sovint han influït en el desenvolupament de les especificacions CSS. Tres anys més tard, hi va haver més de 4.000 missatges en els arxius de la llista de correu.
El 1995 el World Wide Web Consortium (W3C) també va començar a funcionar. Les empreses es van unir al Consorci a un ritme elevat i es va establir l'organització. Es va trobar que els tallers sobre diversos temes eren una manera eficaç perquè els membres i el personal del W3C es reunissin i discutissin sobre el desenvolupament tècnic futur. Per tant, es va decidir que s'havia d'organitzar un altre taller, aquesta vegada amb Style Sheets com a tema. El personal tècnic del W3C treballant en fulls d'estil (és a dir, els dos autors d'aquest llibre) es trobaven ara a Sophia-Antipolis, al sud de França, on el W3C havia creat el seu lloc europeu. El sud de França no és el pitjor lloc per atreure els participants del taller, però ja que molts dels participants potencials eren als Estats Units, es va decidir celebrar el taller a París, que té millors connexions amb vols internacionals. El taller també va ser un experiment per veure si era possible que el W3C organitzés esdeveniments fora dels EUA. De fet, això va resultar possible i el taller va ser una fita important a l'hora d'assegurar als fulls d'estil el seu lloc legítim a la web. Entre els participants hi va haver Thomas Reardon de Microsoft qui es va comprometre a donar suport a CSS en futures versions d'Internet Explorer.
A finals de 1995, el W3C va crear la Junta Editorial d'HTML (HTML ERB) per ratificar futures especificacions HTML. Atès que els fulls d'estil es trobaven dins de l'àmbit d'interès dels membres del nou grup, l'especificació CSS es va considerar un element de treball amb l'objectiu de convertir-lo en una Recomanació. Entre els membres de l'ERB HTML hi era Lou Montulli de Netscape. Després que Microsoft hagués assenyalat que estava afegint suport CSS al seu navegador, també era important aconseguir Netscape a bord. En cas contrari, podríem veure que la Web divergeix en diferents direccions amb els navegadors que admeten diferents especificacions. Les batalles dins de l'ERB HTML eren llargues i difícils, però el nivell 1 de CSS finalment va sorgir com una Recomanació W3C al desembre de 1996.
Al febrer de 1997 CSS va obtenir el seu propi grup de treball dins del W3C i el nou grup es va proposar treballar sobre les característiques que CSS1 no va abordar. El grup va ser presidit per Chris Lilley, un escocès reclutat al W3C de la Universitat de Manchester. El nivell 2 de CSS es va convertir en una recomanació el maig de 1998, i el nivell 3 probablement seguirà cap a finals de 1999. Mentrestant, no només HTML es basa en CSS per a la seva presentació. Molts formats basats en XML també necessiten CSS, i els navegadors que surten a finals de 1998 mostren els primers passos encara poc limitats per presentar dades XML.
El grup de treball del W3C, el nom oficial del qual és "Cascading Style Sheets and Formatting Properties Working Group", ja que no fan més que CSS, té prop de 15 membres, delegats per les empreses i organitzacions que formen part del W3C. Procedeixen de tot el món, de manera que les "reunions" solen ser per telèfon, aproximadament una hora cada setmana. Al voltant de quatre vegades l'any, es troben en algun lloc del món. Els recents esdeveniments han estat Provo, Redmond, San Francisco i París. A París, la reunió es va celebrar a les oficines d'EDF-GDF, l'empresa francesa d'electricitat i gas. En aquesta reunió, el grup va oferir un magnífic sopar: cuina francesa amb vistes a París i el Sena, un dels pocs glamurosos moments de la història d'un grup de treball tècnic que treballa amb força. Tot francès ha d'haver estat gelós; Normalment no obtenen res de forma gratuïta del proveïdor de gas i electricitat.
La saga CSS no està completa sense una secció de navegadors. Si no hagués estat per als navegadors, CSS s'hauria mantingut com una proposta elevada de només interès acadèmic. El primer navegador comercial per donar suport a CSS va ser l'Internet Explorer 3 de Microsoft, que es va publicar a l'agost de 1996. En aquest punt, l'especificació CSS1 encara no s'havia convertit en una Recomanació del W3C i les discussions dins de l'ERB HTML van provocar canvis que el desenvolupador de Microsoft, Chris Wilson, no va poder preveure. IE3 suporta de forma fiable la majoria de les propietats de color, fons, fonts i text, però no implementa gran part del model de caixa.
El proper navegador en anunciar el suport va ser Netscape's Navigator, versió 4.0. Des dels seus inicis, Netscape havia estat escèptic cap als fulls d'estil, i la primera implementació de la companyia va resultar ser un intent per evitar que Microsoft es declarés més compatible amb els estàndards que ells mateixos. La implementació de Netscape admet una àmplia gamma de funcions, per exemple, elements flotants, però els desenvolupadors de Netscape no van tenir temps de provar a fons totes les funcions que suposadament són compatibles. El resultat és que moltes propietats CSS no es poden utilitzar en Navigator 4.
Netscape implementa CSS internament traduint regles CSS en fragments de Javascript, que posteriorment s'executen amb altres scripts. La companyia també va decidir deixar que els desenvolupadors escrivissin JSSS, tot passant per complet a CSS. Si JSSS hages tingut èxit, la web hauria tingut un full d'estil més del necessari. Això, afortunadament per CSS, va resultar no ser el cas.
Mentrestant, Microsoft va continuar els seus esforços per reemplaçar Netscape del tron dels navegadors reinants. A Internet Explorer 4, el motor de visualització del navegador, que entre altres coses s'encarrega de representar CSS, va ser reemplaçat per un mòdul anomenat "Trident". Trident va eliminar moltes de les limitacions de l'IE3, però també va venir amb el seu propi conjunt de limitacions i errors. IE4 no admet completament el CSS1: cosa que el Projecte de Normes Web (WaSP) va destacar el novembre de 1998 quan van publicar "Els 10 primers problemes de CSS de IE" (Figura 20.1).
Figura 20.1 El projecte WaSP segueix la compatibilitat del navegador amb les recomanacions del W3C. Una de les seves primeres revisions va ser el suport CSS a Microsoft Internet Explorer.
A més de mostrar documents estàtics, Trident també és capaç de canviar dinàmicament les propietats estilístiques. Per exemple, els elements es poden animar a la pantalla canviant contínuament les seves propietats superiors i sortides creant així "HTML dinàmic" (DHTML). En principi, DHTML és molt similar a JSSS (ambdós usen llenguatges de script per establir propietats estilístiques), però DHTML mai es va comercialitzar com un llenguatge de full d'estil alternatiu. De fet, CSS és una part integral de DHTML.
El tercer navegador que es va aventurar a CSS va ser Opera. El navegador de la petita empresa noruega es va fer titular el 1998 per ser petit (s'ajusta a un disquet) i es pot personalitzar mentre recolza la majoria de les funcions que es troben a les ofertes més grans de Microsoft i Netscape. Opera 3.5 va ser llançat al novembre de 1998 i suporta la major part de CSS1. Els desenvolupadors d'Opera (a saber, Geir Ivarsøy) també han trobat el temps per provar la seva implementació abans d'enviar-lo. El conjunt d'assaigs CSS1, desenvolupat per Eric Meyer amb l'ajuda d'innombrables voluntaris, ha fet que els implementadors puguin provar i millorar millor els seus productes.
A mesura que s'escriu aquest text, Netscape i Microsoft també estan treballant dur per treure els seus pròxims navegadors. Netscape ha decidit reemplaçar el motor de visualització al Navegador amb "nglayout", que s'ha escrit des de zero amb CSS com un dels fonaments. El seu nou navegador té el nom de codi "Gecko" i pot descarregar versions beta de http://www.mozilla.org. Microsoft ha estat publicant versions de vista prèvia d'Internet Explorer 5. Algunes millores CSS ja estan en funcionament, i s'espera que la iniciativa WaSP recordi a la companyia que encara hi ha feina que fer abans que CSS1 sigui totalment compatible.
El lloc web d'aquest llibre tindrà punters cap a els darrers navegadors CSS.