Feuilles De Style En Cascade

ÔĽŅ
Feuilles De Style En Cascade

Feuilles de style en cascade

Page d'aide sur l'homonymie Pour les articles homonymes, voir CSS.

CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards d√©finissant CSS sont publi√©s par le World Wide Web Consortium (W3C). Introduit au milieu des ann√©es 1990, CSS devient couramment utilis√© dans la conception de sites web et bien pris en charge par les navigateurs web dans les ann√©es 2000.

Sommaire

Enjeux et principes

Les enjeux

Séparer la structure d'un document de ses styles de présentation

L'un des objectifs majeurs de CSS est de permettre la stylisation hors des documents. Il est par exemple possible de ne décrire que la structure d'un document en HTML, et de décrire toute la présentation dans une feuille de style CSS séparée. Les styles sont appliqués au dernier moment, dans le navigateur web des visiteurs qui consultent le document. Cette séparation fournit un certain nombre de bénéfices, permettant d'améliorer l'accessibilité, de changer plus facilement de présentation, et de réduire la complexité de l'architecture d'un document.

Ainsi, les avantages des feuilles de style sont multiples :

  • La structure du document et la pr√©sentation peuvent √™tre g√©r√©es dans des fichiers s√©par√©s.
  • La conception d'un document se fait dans un premier temps sans se soucier de la pr√©sentation, ce qui permet d'√™tre plus efficace.
  • Dans le cas d'un site web, la pr√©sentation est uniformis√©e : les documents (pages HTML) font r√©f√©rence aux m√™mes feuilles de styles. Cette caract√©ristique permet de plus une remise en forme rapide de l'aspect visuel.
  • Un m√™me document peut donner le choix entre plusieurs feuilles de style, par exemple une pour l'impression et une pour la lecture √† l'√©cran. Certains navigateurs web permettent au visiteur de choisir un style parmi plusieurs.
  • Le code HTML est consid√©rablement r√©duit en taille et en complexit√©, puisqu'il ne contient plus de balises ni d'attributs de pr√©sentation.

Décliner les styles de présentation selon le récepteur

CSS permet de définir le rendu d'un document en fonction du média de restitution et de ses capacités (type de moniteur ou de dispositif vocal), de celles du navigateur (texte ou graphique), ainsi que des préférences de son utilisateur.

Les feuilles de styles peuvent √™tre diff√©renci√©es pour les m√©dias suivants, selon CSS2.1[1] :

  • all : quel que soit le m√©dia
  • screen : √©crans d'ordinateur de bureau
  • print : pour l'impression papier
  • handheld : √©crans de tr√®s petite taille et clients aux capacit√©s limit√©es
  • projection : quand le document est projet√©
  • tv : quand le document est affich√© sur un appareil de type t√©l√©vision
  • speech : pour le rendu via une synth√®se vocale (rempla√ßant aural, initialement pr√©vu par CSS2.0 puis d√©pr√©ci√© par CSS2.1)

D'autres types de media sont th√©oriquement pr√©vus par la sp√©cification CSS2.1, mais ne sont pas impl√©ment√©s par les agents utilisateurs : braille et embossed pour les tablettes brailles et les embosseuses, ainsi que tty pour les t√©l√©scripteurs.

Dans chaque média, les styles de présentation déterminés par l'auteur du document se combinent avec ceux par défaut de l'agent utilisateur et ceux issus des préférences de l'utilisateur et de sa configuration personnelle.

Les capacit√©s du r√©cepteur peuvent √™tre prises en compte par les auteurs, √† destination des agents utilisateurs impl√©mentant le module CSS3 ¬ę media queries ¬Ľ[2] : celui-ci permet de conditionner la prise en compte d'une feuille de style √† des contraintes concernant notamment la r√©solution ou la capacit√© de restitution des couleurs.

Permettre la cascade des styles

La ¬ę cascade ¬Ľ est la combinaison de diff√©rentes sources de styles appliqu√©s √† un m√™me document, selon leur degr√© respectif de priorit√©. Diff√©rents modes de cascade peuvent se combiner :

  • par origine des styles, issus de l'agent utilisateur, de l'auteur et de l'utilisateur. La priorit√© sup√©rieure accord√©e aux styles de l'utilisateur est un des facteurs principaux de l'accessibilit√© des documents pr√©sent√©s √† l'aide de CSS.
  • par m√©dia: une feuille de style g√©n√©rique peut s'appliquer √† plusieurs media de restitution (affichage √† l'√©cran, impression, projection) et √™tre combin√©e avec des feuilles propres √† chaque media.
  • selon l'architecture d'un ensemble de documents web : une feuille de style g√©n√©rique peut s'appliquer √† la totalit√© des pages d'un site web, √™tre combin√©e avec des feuilles propres √† chaque rubrique de celui-ci, ainsi qu'avec des styles propres √† telle ou telle page sp√©cifique.
  • selon l'architecture des feuilles elles-m√™mes : une feuille de style externe au document peut √™tre combin√©e √† une feuille de style interne et √† des styles appliqu√©s directement √† chaque √©l√©ment qui le compose (styles ¬ę en ligne ¬Ľ). Une feuille de style peut √©galement importer une ou plusieurs autres feuilles externes.

Principes techniques et syntaxe de CSS

Les concepts fondamentaux : bo√ģtes et flux CSS

Le rendu d'un document styl√© est d√©termin√© par les concepts de bo√ģte et de flux. Le moteur de rendu CSS √©tablit une ¬ę structure de formatage ¬Ľ refl√©tant l'arbre logique du document. Chaque √©l√©ment de cette structure g√©n√®re une ou plusieurs zones dot√©es de propri√©t√©s d'affichage ou de rendu vocal param√©trables. L'affichage ou la lecture s'effectuent √† partir du flux des bo√ģtes successivement g√©n√©r√©es pour chaque √©l√©ment tel qu'il appara√ģt dans l'ordre lin√©aire de la structure de formatage.

Selon les cas de figures, ces diff√©rents types de bo√ģtes :

  • peuvent avoir des propri√©t√©s de marges, de bordure, d'arri√®re-plan, de largeur ou de hauteur, etc. Dans un rendu vocal, des propri√©t√©s √©quivalentes permettent de d√©terminer des pauses dans la lecture avant ou apr√®s le contenu, de choisir une voix, de r√©gler son d√©bit ou son niveau sonore.
  • peuvent √™tre d√©plac√©es par rapport √† leur position par d√©faut dans le flux, ou avoir un comportement particulier dans celui-ci (permettre un rendu en colonnes adjacentes, se superposer aux bo√ģtes voisines, ou √™tre masqu√©es par exemple).

Propriétés et valeurs

Les caract√©ristiques applicables aux bo√ģtes CSS sont exprim√©es sous forme de couples propri√©t√©: valeur.

Les propri√©t√©s sont libell√©es √† l'aide de mots-outils anglais tels que ¬ę width ¬Ľ (largeur), ¬ę font-size ¬Ľ (taille de la police de caract√®res) ou ¬ę voice-volume ¬Ľ (volume sonore du rendu vocal).

Les valeurs peuvent être selon les cas exprimées à l'aide d'unités normalisées par ailleurs, ou de mots-clés propres à CSS. Par exemple, une couleur de fond ou de texte peut être exprimée à l'aide du modèle RGB ou des mots clés black, blue, fuchsia, etc.

Les propri√©t√©s CSS ont √©t√© √©tablies selon un compromis entre deux contraintes oppos√©es : faciliter la lecture des feuilles de styles par les agents utilisateurs en multipliant les propri√©t√©s individuelles, ou faciliter leur √©criture par les auteurs en recourant √† un nombre plus r√©duit de propri√©t√©s combin√©es. Par exemple, la position d'une image d'arri√®re-plan est d√©termin√©e par une propri√©t√© unique (background-position), combinant les deux valeurs d'abscisse et d'ordonn√©e, et non par deux propri√©t√©s distinctes. De m√™me, il existe des propri√©t√©s raccourcies permettant aux auteurs de simplifier l'√©criture d'une s√©rie de propri√©t√©s : le raccourci font permet, par exemple, de r√©sumer en une seule r√®gle l'ensemble des propri√©t√©s de police de caract√®res, de taille, de hauteur de ligne, de casse, de graisse et d'italique. Mais l'utilisation du caract√®re ¬ę / ¬Ľ rend beaucoup plus complexe l'analyse syntaxique des feuilles de styles par les agents utilisateurs[3].

Sélecteurs et blocs de règles

Les propri√©t√©s sont regroup√©es par blocs de r√®gles, d√©limit√©s par les accolades {}. Chaque bloc est pr√©c√©d√© d'un s√©lecteur d√©signant les √©l√©ments structurels auxquelles les propri√©t√©s concern√©es doivent √™tre appliqu√©es :

p { font-size: 110%; font-family: Helvetica, sans-serif; }

Bien que ce code CSS ne décrive pas la totalité de la présentation d'un document, il constitue à lui seul une feuille de style à part entière. Il fixe pour les éléments p (paragraphe), le paramètre de taille à la valeur 110% et le paramètre de police à la valeur Helvetica, ou, si Helvetica est indisponible, une police générique sans serifs.

p est un exemple de s√©lecteur simple. D'autres s√©lecteurs simples peuvent cibler plus sp√©cifiquement un ou plusieurs √©l√©ments en recourant aux identifiants et aux classes attribu√©s aux √©l√©ments structurels : les identificateurs (attribut id) sont utilis√©s pour caract√©riser un √©l√©ment unique (un menu, un mot...), tandis que les classes (attribut class) sont utilis√©es pour caract√©riser un ensemble d'√©l√©ments (comme des menus organis√©s de mani√®re similaire).

Des s√©lecteurs contextuels, form√©s par combinaisons de s√©lecteurs simples, permettent de viser des √©l√©ments selon leur position dans le document : a img ne d√©signera par exemple que les images pr√©sentes dans des liens.

Pour permettre la cascade des styles, des r√®gles de calcul de sp√©cificit√© permettent au moteur de rendu CSS de d√©terminer le degr√© de priorit√© √† appliquer √† diff√©rents s√©lecteurs visant concurremment un m√™me √©l√©ment, et de trier ainsi les r√®gles √† lui appliquer[4]. Ce calcul repose sur la somme des valeurs donn√©es aux diff√©rents s√©lecteurs simples formant le s√©lecteur contextuel :

  • chaque type de s√©lecteur simple a sa valeur de priorit√© : 0,0,0,1 pour un √©l√©ment, 0,0,1,0 pour une classe, 0,1,0,0 pour un identifiant unique id.
  • la mention !important ajout√©e dans la r√®gle donne une sp√©cificit√© de 1,0,0,0.
  • l'origine du style est d√©terminante en dernier ressort : un attribut style pr√©sent dans le document HTML a la priorit√© sur les autres sources de styles auteur, afin de permettre les surcharges locales des styles communs √† une s√©rie de pages web. D'autre part, √† priorit√©s √©gales, un style utilisateur l'emporte sur un style auteur, qui l'emporte sur le style par d√©faut de l'agent utilisateur.

Les feuilles de styles sont donc des documents textuels, dont la syntaxe se veut simple et intuitive, pour permettre leur lecture et leur écriture aussi bien directement par l'auteur qu'à l'aide d'un logiciel.

Histoire de CSS

Un concept parmi d'autres, présent dès l'origine du web

Le concept de feuille de style est pr√©sent d√®s l'origine du World Wide Web : le premier navigateur web (¬ę WorldWideWeb ¬Ľ, renomm√© par la suite ¬ę Nexus ¬Ľ) permet de mettre en forme les documents √† l'aide de ce qui serait aujourd'hui consid√©r√© comme une ¬ę feuille de style utilisateur ¬Ľ[5]. De m√™me, les navigateurs Viola en 1992 et Harmony en 1993 recourent √† un m√©canisme similaire permettant de d√©terminer le rendu des polices de caract√®res, des couleurs ou de l'alignement du texte.

Il ne s'agit cependant pas de styles d√©termin√©s par l'auteur du document. Les premi√®res impl√©mentations HTML ne comportant pas non plus d'√©l√©ments de pr√©sentation, une pression croissante s'exerce alors pour que les navigateurs permettent aux auteurs de d√©terminer eux-m√™mes la mise en forme des pages web[6], dans une d√©marche issue de la publication imprim√©e √©lectronique. C'est dans ce contexte, en 1994-1995, que le tout nouveau Netscape Navigator introduit les premiers √©l√©ments HTML de pr√©sentation √† l'initiative de Marc Andreessen, tandis qu'apparaissent concurremment les premi√®res propositions de formats de styles externes[7] : le ¬ę stylesheet proposal ¬Ľ de Pei Wei (cr√©ateur de Viola)[8], les ¬ę Stylesheets for HTML ¬Ľ de Robert Raisch (O'Reilly)[9], et enfin les ¬ę  Cascading HTML Style Sheets ¬Ľ (CHSS) d'H√•kon Wium Lie[10]. L'apparition de CSS r√©pond √† une volont√© de ¬ę proposer une alternative √† l'√©volution du HTML d'un langage de structuration vers un langage de pr√©sentation ¬Ľ[11].

Une troisi√®me voie de d√©veloppement est √©galement ouverte √† la m√™me √©poque : le langage de transformation DSSSL des documents SGML, √©labor√© par James Clark, sugg√®re la possibilit√© d'un format de styles qui ne soit pas seulement descriptif, et se rapproche d'un v√©ritable langage de programmation[12]. Cette voie est suivie par Netscape, qui propose en 1996 au W3C les ¬ę JavaScript-Based Style Sheets ¬Ľ (JSSS)[13], impl√©ment√©e par Netscape Navigator 4 en 1997.

Les origines des CSS sont donc li√©es √† trois alternatives majeures :

  • HTML est-il un format de structuration ou un format mixte de mise en forme et de structuration ?
  • Les choix de pr√©sentation de l'auteur doivent-ils avoir la primaut√© sur ceux de l'utilisateur ?
  • La r√©ponse aux besoins est-elle un format de description de la mise en forme, ou un langage de transformation ?

Les premiers développements

La première proposition de Cascading HTML Style Sheets formulée par Håkon Wium Lie retient l'attention de Dave Raggett, qui est alors le principal éditeur du projet de spécification HTML3.0. Partisan d'un HTML purement structurel, il encourage la publication d'un document de travail CHSS, afin que celui-ci puisse être présenté et discuté à la seconde conférence internationale sur le WWW (Mosaic and the web', Chicago, 1994). Il modifie également avec Håkon Lie le navigateur Arena[14], afin de permettre de tester ce format, et en fait la démonstration lors de la troisième conférence WWW en 1995.

Parall√®lement, Bert Bos, qui travaillait alors sur le navigateur Argo[15], et qui avait soumis au W3C son propre projet ¬ę Stream-based Style Sheet Proposal ¬Ľ (SSP), d√©cide de joindre ses effets √† ceux d'H√•kon Lie. SSP ayant √©t√© d√©velopp√© avec l'id√©e d'√™tre applicable non seulement √† HTML, mais aussi √† d'autres langages de balisage, Bert Bos et H√•kon Lie reprennent cet objectif, et en font une des caract√©ristiques cl√©s de ce qui devient alors CSS proprement dit.

Un autre aspect de CSS s'av√®re alors d√©terminant face aux alternatives existantes : CSS est le premier format √† inclure l'id√©e de ¬ę cascade ¬Ľ (feuille de style en cascade), c'est-√†-dire la possibilit√© pour le style d'un document d'√™tre h√©rit√© √† partir de plus d'une ¬ę feuille de style ¬Ľ. Cela permet d'arbitrer entre plusieurs sources concurrentes de mise en forme d'un √©l√©ment, et r√©pond donc √† la n√©cessit√© de composer entre les pr√©f√©rences stylistiques des auteurs et des utilisateurs.

Le World Wide Web Consortium (W3C) devient op√©rationnel en 1995, et la liste de discussion www-style est alors cr√©√©e[16]. La m√™me ann√©e se tient √† Paris un ¬ę W3C style sheet workshop ¬Ľ d√©cisif pour l'avenir des CSS[17]. Y est notamment affirm√©e la volont√© de conserver les feuilles de style sous une forme simple, ce qui exclut l'hypoth√®se JSSS de Netscape. Par ailleurs, Thomas Reardon (Microsoft) y annonce le support √† venir de CSS dans les futures versions d'Internet Explorer : d√®s lors, lorsque le W3C cr√©e √† la fin de l'ann√©e l'¬ę HTML Editorial Review Board ¬Ľ (HTML ERB) pour ratifier les futures sp√©cifications HTML, DOM et CSS, Netscape, repr√©sent√© par Lou Montulli, se rallie finalement au projet CSS men√© par Bert Bos et H√•kon Lie.

Vers une maturation difficile

Contrairement aux logiciels, les sp√©cifications CSS ne sont pas d√©velopp√©es par versions successives, qui permettraient √† un navigateur de se r√©f√©rer √† une version en particulier. CSS est d√©velopp√© par ¬ę niveaux ¬Ľ, ce qui contraint chaque nouveau niveau √† int√©grer le pr√©c√©dent, et chaque impl√©mentation √† √™tre compatible avec la pr√©c√©dente : CSS1 est donc d√©velopp√© pour √™tre un sous-ensemble de CSS2, qui est lui-m√™me d√©velopp√© pour √™tre un sous-ensemble de CSS3. Ceci explique en partie la lenteur de l'avancement normatif de CSS[18].

CSS1, des implémentations difficiles pendant la guerre des navigateurs

La sp√©cification CSS1 finale est publi√©e le 17 d√©cembre 1996, et d√©finit une cinquantaine de propri√©t√©s. CSS1 se d√©finit comme un ¬ę m√©canisme de feuille de style simple, permettant aux auteurs et aux lecteurs d'attacher des styles (‚Ķ) au document HTML ¬Ľ[19]. Cette simplicit√© se traduit par le choix d'un langage qui peut √™tre ais√©ment lu et √©crit directement par ses utilisateurs humains, et d'une terminologie conforme aux usages courants dans la publication informatique. Le choix √©ventuel d'exprimer CSS dans une syntaxe XML ou SGML, r√©guli√®rement √©voqu√©e pour √©viter l'impl√©mentation d'un nouveau mode d'analyse syntaxique, est donc d√©finitivement √©cart√©e[20].

CSS1 ne d√©crit pas uniquement sa propre grammaire : ce premier niveau d√©crit en effet une grammaire destin√©e √† permettre aux niveaux ult√©rieurs d'ajouter de nouvelles fonctionnalit√©s, tout en autorisant la lecture de ces futures feuilles de styles par les impl√©mentations d'origine. Ces nouvelles fonctionnalit√©s ne seront pas comprises par les impl√©mentations d'origine, mais pourront √™tre identifi√©es en tant que telles, et ignor√©es. CSS garantit ainsi sa compatibilit√© ascendante.

CSS1 d√©finit essentiellement les propri√©t√©s de rendu typographique du texte : fontes (polices), couleur, taille des caract√®res, graisse, espacements, bordures et gestion des marqueurs de liste. Il n'est donc pas encore question de ¬ę mise en page ¬Ľ : la propri√©t√© float, qui sera par la suite massivement utilis√©e pour la mise en page CSS globale des designs web, n'est alors con√ßue que comme un moyen de placer localement, c√īte √† c√īte, une portion r√©duite du contenu, tel qu'une image, et le reste du texte[21]. Compte-tenu des impl√©mentations probl√©matiques de CSS1, le d√©tournement de l'√©l√©ment HTML table pour g√©rer la mise en page globale reste dans l'imm√©diat la solution la plus couramment retenue par les auteurs de contenu web.

En 1996, Internet Explorer 3.0 est le premier navigateur commercial à implémenter partiellement CSS alors que celle-ci est encore en cours de formulation. Cette implémentation anticipée, menée par Chris Wilson[22] ne correspond pas à la spécification finale. En 1997, Internet Explorer 4.0 voit la naissance d'un nouveau moteur de rendu, Trident, à l'origine du support croissant mais problématique de CSS dans les différentes versions de ce navigateur sous Windows, jusqu'à IE7 inclus[23].

Netscape Navigator 4.0 suit le mouvement en 1997, malgr√© ses r√©ticences historiques vis-√†-vis de CSS[24] : dans le contexte de la guerre des navigateurs, il s'agit alors principalement d'√©viter que Microsoft ne puisse s'affirmer comme le navigateur le plus conforme. Cependant, cette impl√©mentation pr√©cipit√©e, bas√©e sur des m√©thodes javascript internes, se r√©v√®le finalement peu exploitable par les producteurs de contenus. Netscape Navigator 4.0 apporte √©galement une impl√©mentation JSSS, qui restera sans lendemain[25]. Il faudra attendre le nouveau moteur de rendu Gecko et son int√©gration dans Netscape 6 pour parvenir √† une v√©ritable impl√©mentation de CSS1.

En 1998, alors que s'ach√®ve la guerre des navigateurs opposant Netscape et Microsoft, Opera 3.5, dont H√•kon Lie est entre-temps devenu le directeur technique, parvient √† une impl√©mentation plus compl√®te de CSS1, facilit√©e par la publication de la premi√®re ¬ę Test suite for Cascading Style Sheets (CSS) Level 1 ¬Ľ cr√©√©e principalement par Eric Meyer pour le W3C[26]. La pr√©sence de ces suites de test se r√©v√®le un atout majeur √† la fois pour les impl√©mentations dans les navigateurs et pour l'appropriation des techniques CSS par les auteurs (en fournissant des exemples d√©taill√©s des propri√©t√©s et de leurs valeurs).

Enfin, sous l'impulsion de Tantek √áelik, Internet Explorer 5.0 pour Macintosh lanc√© en mars 2000, bas√© sur Tasman, un moteur de rendu sp√©cifique sans rapport avec Trident, est le premier navigateur √† supporter compl√®tement (√† plus de 99 %) CSS1. Pour assurer la compatibilit√© avec les pr√©c√©dentes pratiques de codage propre √† chaque impl√©mentation (la ¬ę soupe de balises ¬Ľ), et permettre un affichage correct des documents web qu'ils soient respectueux ou non des standards CSS et HTML, il est √©galement le premier √† mettre en Ňďuvre la technique du doctype switching. Adopt√©e par la suite par tous les navigateurs, celle-ci devient par la suite l'une des cl√©s de l'impl√©mentation progressive de CSS : elle permet en effet au navigateur de conserver d'anciennes impl√©mentations propri√©taires pour des raisons de compatibilit√©, tout en ayant la possibilit√© d'opter, en fonction de la syntaxe de la d√©claration de type de document de la page, pour un mode de rendu conforme √† de nouvelles impl√©mentations standards[27].

Durant cette p√©riode de la fin des ann√©es 1990, la conception web est avant tout d√©pendante de l'utilisation d'HTML en tant que format de pr√©sentation. La d√©faite de Netscape √† l'issue de la guerre des navigateurs, le renouveau qui s'en suit via le projet Mozilla, l'apparition d'IE5 Mac, et √† un moindre titre l'√©volution d'Internet Explorer Windows 5.x, amorcent cependant au d√©but des ann√©es 2000 une nouvelle √©tape dans l'√©volution des pratiques de conception des sites web par les auteurs : ces navigateurs permettent en effet de montrer que les pratiques historiques datant de l'√©poque de la guerre des navigateurs, m√™lant structure et pr√©sentation, peuvent r√©ellement √™tre abandonn√©es au profit d'une d√©marche bas√©e sur les feuilles de styles et le respect plus g√©n√©ral des standards du web (au sens d'HTML et CSS). Jeffrey Zeldman, co-fondateur du Web Standards Project et fondateur d'A List apart en 1998, appara√ģt alors comme la figure embl√©matique de ce mouvement de promotion des standards[28]. Il est √©galement l'inspirateur d'une d√©marche de conception ¬ę hybride ¬Ľ, tirant profit des techniques CSS tout en demeurant temporairement dans le cadre d'une mise en forme des documents bas√©e sur les tableaux de pr√©sentation.

CSS2, des ambitions précipitées

Pour répondre aux besoins que la première spécification CSS1 ne couvrait pas encore, CSS est attribué en 1997 à un nouveau groupe de travail au sein du W3C, présidé par Chris Lilley. En 2007, ce groupe comporte notamment des représentants d'Apple, Google, IBM, Microsoft, Adobe, de la Fondation Mozilla et d'Opera.

Publi√© comme une recommandation en mai 1998, le second niveau de CSS √©tend consid√©rablement les possibilit√©s th√©oriques des feuilles de styles en cascade, avec en particulier environ 70 propri√©t√©s suppl√©mentaires. √Ä la mise en forme typographique du texte initi√©e avec CSS1 s'ajoutent en effet notamment :

  • la d√©clinaison en styles propres aux diff√©rents m√©dia dans lesquels une page web peut √™tre restitu√©e (impression, rendu par une synth√®se vocale, par un dispositif braille, par un dispositif de projection, un mobile, etc.)
  • de nouvelles propri√©t√©s de positionnement √† l'√©cran pour permettre la r√©alisation de mise en pages avanc√©es, issues d'un document √©labor√© conjointement par Microsoft et Netscape[29]
  • un jeu de propri√©t√©s autorisant le t√©l√©chargement de polices de caract√®res sp√©cifiques
  • de nouvelles propri√©t√©s permettant de faire intervenir les pr√©f√©rences de l'utilisateur dans la mise en forme d'un site.

Cependant, cette richesse fonctionnelle ne rencontre qu'un √©cho limit√© dans ses impl√©mentations :

  • La d√©clinaison par m√©dia est en partie un √©chec : les styles de rendus vocaux restent th√©oriques faute de prise en compte par les navigateurs vocaux et lecteurs d'√©cran. Ils s'av√®rent par ailleurs incompatibles avec le standard d'interaction vocale SSML. Il en est de m√™me de l'affichage et de l'impression braille. Les styles d'impression ne sont que tr√®s partiellement adopt√©s par les navigateurs graphiques, tandis qu'une partie des navigateurs pour mobiles ignorent encore au d√©but des ann√©es 2000 le type de m√©dia CSS qui leur est d√©di√©.
  • Seules quelques propri√©t√©s avanc√©es de positionnement sont reconnues par l'ensemble des navigateurs graphiques, consolidant ainsi les pratiques de mise en page qui reposent sur des d√©tournements de fonctionnalit√©s CSS (syst√®me des blocs flottants ou positionn√©s) et HTML (tableaux de mises en page).
  • Le t√©l√©chargement de polices de caract√®res suscite des impl√©mentations non conformes et divergentes entre Netscape et Internet Explorer, et rencontre l'opposition des √©diteurs de fontes, soucieux de pr√©server leurs int√©r√™ts commerciaux[30].

Plusieurs causes sont √©voqu√©es pour expliquer ces difficult√©s et la lenteur des impl√©mentations CSS2 :

  • la ¬ę sous-sp√©cification ou quasi-inimpl√©mentabilit√© de certaines sections ¬Ľ[31]. H√•kon Lie souligne lui-m√™me dans sa th√®se sur les feuilles de style en cascade, en 2005, les risques de non impl√©mentation ou de perte d'interop√©rabilit√© li√©s √† des ¬ę fonctionnalit√©s excessives ¬Ľ, telles que les marqueurs de liste, les rep√®res de coupe pour l'impression ou le t√©l√©chargement de polices de caract√®res. De m√™me, la complexit√© des s√©lecteurs avanc√©s est difficilement conciliable avec la gestion de la cascade.
  • l'absence d'int√©r√™t de la part des fabricants de navigateurs pour des fonctionnalit√©s qui ne r√©pondaient pas n√©cessairement √† leurs objectifs strat√©giques ou commerciaux.
  • l'interruption du d√©veloppement d'Internet Explorer, navigateur dominant du march√©, de 2001 √† 2006. H√•kon Lie √©crivait en effet en 2005 : ¬ę 2001 est un tournant pour CSS. C'est l'ann√©e o√Ļ Microsoft produit Internet Explorer 6.0 qui offre une prise en charge fonctionnelle, bien qu'incompl√®te et bugg√©e, de CSS (‚Ķ) Aucun autre navigateur n'a √©t√© capable de concurrencer WinIE en termes de nombre d'utilisateurs. WinIE a, de ce fait, d√©termin√© le sous-ensemble de CSS utilisable par les auteurs. La prise en charge limit√©e de CSS par WinIE, combin√©e √† un monopole de fait en mati√®re de navigateur web, est actuellement le plus grave probl√®me du d√©ploiement de CSS. ¬Ľ[32]

CSS 2.1, retour aux implémentations

Les retours d'impl√©mentation de CSS2 conduisent le groupe de travail CSS du W3C √† r√©diger √† partir de 2001 une version r√©vis√©e CSS 2.1 (¬ę CSS Level 2, Revision 1 ¬Ľ), sur la base de ce qui √©tait effectivement adopt√© par les diff√©rents navigateurs. Les objectifs de cette r√©vision sont[33] :

  • de maintenir la compatibilit√© avec les parties de CSS2 qui sont largement accept√©s et mises en application.
  • d'incorporer dans la norme tous les errata CSS2 d√©j√† publi√©s.
  • Lorsque les impl√©mentations diff√®rent profond√©ment de la sp√©cification CSS2, de modifier la sp√©cification pour qu'elle soit en accord avec les pratiques g√©n√©ralement admises.
  • de supprimer les dispositifs CSS2 qui ont √©t√© refus√©s par la communaut√© CSS, vu leur manque d'impl√©mentation. CSS 2.1 vise √† refl√©ter les m√©canismes CSS qui ont √©t√© raisonnablement et largement impl√©ment√©s pour les langages HTML et XML en g√©n√©ral (plut√īt que pour un langage XML en particulier, ou pour HTML seul).
  • de supprimer les m√©canismes CSS2 qui seront rendus obsol√®tes par CSS3, et encourager ainsi l'adoption de m√©canismes CSS3 √† leur place.
  • d'ajouter un (tr√®s) petit nombre de nouvelles valeurs de propri√©t√©s, lorsque l'exp√©rience d'impl√©mentation a montr√© qu'elles r√©pondaient √† un besoin pour la mise en application de CSS2.

CSS 2.1 corrige CSS2 sur de nombreux points de d√©tail, en supprime certaines sections en tout ou partie (les styles vocaux d√©fini sous le type de media ¬ę aural ¬Ľ, les styles d'impression, les polices t√©l√©chargeables, dont les d√©finitions plus probantes sont repouss√©es √† la future CSS3), et l'explicite √† partir des constats mis √† jour lors des impl√©mentations (la gestion avanc√©e des blocs flottants via les ¬ę contextes de formatage ¬Ľ[34]).

Après avoir connu 8 versions successives, CSS 2.1 est en juillet 2007 une recommandation candidate, c'est-à-dire le standard que doivent suivre les implémentations[35].

En 2007, aucun navigateur n'a en effet achev√© l'int√©gration de CSS 2.1 : celle-ci serait impl√©ment√©e √† 56 % par Internet Explorer 7, 91 % par Firefox 2 et 94 % par Opera 9[36]. Par ailleurs, seule une partie des navigateurs graphiques ont pass√© avec succ√®s ou retenu comme objectif le test Acid2, lanc√© en 2005 par le Web Standards Project, √† l'initiative d'H√•kon Lie, pour favoriser notamment l'impl√©mentation d'un choix de fonctionnalit√©s CSS 2.1 consid√©r√©es comme les principales avanc√©es n√©cessaires : positionnement d'√©l√©ments lors de l'affichage, g√©n√©ralisation du mod√®le de rendu en tableau √† tous les √©l√©ments, contenu g√©n√©r√© via CSS. L'utilisation professionnelle de CSS reste donc limit√©e √† un sous-ensemble arbitraire de celle-ci, d√©termin√© par les impl√©mentations communes.

CSS3

Le développement du troisième niveau des feuilles de styles en cascade commence dès 1999, parallèlement à celui de CSS 2.1.

CSS3 devient ¬ę modulaire ¬Ľ, afin de faciliter ses mises √† jours, mais aussi son impl√©mentation par des agents utilisateurs aux capacit√©s et aux besoins de plus en plus vari√©s (navigateurs graphiques, navigateurs pour mobiles, navigateurs vocaux). Les navigateurs peuvent ainsi impl√©menter des sous-ensembles de CSS3[37].

D√®s lors, le degr√© d'avancement de CSS3 varie selon les modules et le degr√© de priorit√© qui leur a √©t√© donn√© par le groupe de travail CSS[38]. En 2007, les modules les plus avanc√©s (recommandations candidates) concernent la mise en forme des annotations ruby, la n√©gociation de style entre serveurs et agents utilisateurs (¬ę Media Queries ¬Ľ), le rendu web TV, la gestion des couleurs ou encore la prise en compte de la configuration de l'interface utilisateur. Dans d'autres cas, des modules peuvent atteindre le stade de recommandation candidate, mais √™tre par la suite ramen√© au stade de document de travail en raison des difficult√©s mises √† jour suite √† l'appel √† impl√©mentation. C'est par exemple le cas du module de typographie ¬ę CSS Text ¬Ľ.

De m√™me, les impl√©mentations varient selon les strat√©gies et les besoins des diff√©rents navigateurs. Opera impl√©mente par exemple les ¬ę Media Queries ¬Ľ, qui r√©pondent √† ses besoins sp√©cifiques de navigateur multi-plateforme embarqu√© sur des clients ayant des capacit√©s d'affichage tr√®s vari√©es. Firefox, davantage orient√© vers le navigateur exploit√© en tant que plateforme, privil√©gie en revanche des modules appropri√©s √† cet usage comme le module s√©lecteurs avanc√©s.

Certains membres du groupe de travail CSS, ainsi que des d√©veloppeurs web, ont soulev√© le probl√®me de la lenteur de l'avancement de CSS3 :

  • Pour Ian Hixon, ¬ę le groupe de travail CSS est aujourd'hui atteint de dysfonctionnements chroniques ¬Ľ : son caract√®re trop ferm√© le prive des contributeurs n√©cessaires pour l'√©dition des sp√©cifications, leur relecture ou encore la r√©daction des suites de test[39]
  • Pour Daniel Glazman, cette lenteur s'explique par 3 erreurs originelles : le choix de d√©velopper CSS par niveau et non pas par versions successives, la priorit√© accord√©e √† la r√©vision CSS 2.1 au d√©triment de CSS3, le nombre excessif de modules CSS3 et la complexit√© des propri√©t√©s qui y sont d√©velopp√©es[40].

En 2008, aucun module n'est considéré comme terminé par le W3C, et l'implémentation dans les navigateurs est donc marginale, souvent à titre de test, comme les fonctions -moz-xxx du moteur Gecko, dont le préfixe limite l'utilisation aux seuls navigateurs basés sur Gecko.

Limites de CSS

Indépendance de la présentation et de la structure

CSS ambitionnait initialement l'indépendance entre structure et présentation d'un document.

Ainsi, le site du CSS Zen Garden, cr√©√© en 2003 par Dave Shea, se veut la d√©monstration de la possibilit√© de modifier librement le rendu affich√© d'une m√™me page web, uniquement gr√Ęce √† CSS et sans aucune modification de son code HTML[41] : il pr√©sente, en d√©cembre 2006, 986 d√©signs diff√©rents de sa page d'accueil [42]. Cependant, la plupart de ces designs reposent en tout ou partie sur le remplacement du contenu textuel de la page par des images CSS qui le reproduisent en enrichissant son aspect[43] : la libert√© graphique repose toujours partiellement sur la transformation du texte en image. D'autre part, le CSS Zen Garden reste un exercice de style limit√© √† un document unique, √† la structure doubl√©e d'√©l√©ments et attributs s√©mantiquement neutres, qui ne servent qu'√† donner appui √† des s√©lecteurs CSS.[44]

S'il existe de nombreux exemples de documents HTML pour lesquels plusieurs feuilles de style ont été développées, il n'existe guère d'exemples de feuilles de style génériques, indépendantes de la structure du document. Les styles par défaut des agents utilisateurs en sont un exemple, mais limité à des effets typographiques simples, sans définition de mise en page[45]. En général, les feuilles de style dépendent étroitement de la structure du document à styliser et sont difficilement réutilisables sur des documents différemment structurés. C'est davantage à travers la création de design patterns HTML CSS que s'exploite cette indépendance potentielle des styles envers la structure spécifique des documents.

Plus g√©n√©ralement :

  • les difficult√©s et le manque d'impl√©mentation d'une partie des propri√©t√©s CSS limitent la libert√© de mise en page, et conduisent √† l'utilisation de propri√©t√©s contraignantes quant √† la structure HTML (par exemple, la propri√©t√© float impose un ordre pr√©cis du contenu ainsi mis en colonne ; de nombreux effets de rendu reposent d'autre part sur une surcharge de balisage s√©mantiquement neutre, tel que div et span).
  • la r√©utilisation d'une structure unique sur des m√©dia ou des mat√©riels diff√©rents gr√Ęce √† des feuilles de styles est limit√©e par les contraintes li√©es aux contenus eux-m√™mes et √† la capacit√© des agents utilisateurs √† restituer ceux-ci, et par la n√©cessit√© d'une n√©gociation de pr√©sentation entre client et serveur. Des proc√©d√©s d'adaptation sp√©cifiques du contenu, de la structure et du rendu c√īt√© agent utilisateur se sont av√©r√©s n√©cessaires, tels, que, par exemple, la technologie ERA (Extensible Rendering Architecture) d√©velopp√©e par Opera. Internet Explorer suit une voie similaire avec sa version 7 qui remod√®le le rendu imprim√© d'une page web afin de l'optimiser.

Accessibilité

CSS favorise l'accessibilit√© d'une page web en donnant en dernier ressort √† l'utilisateur le contr√īle du rendu d'un document dans son navigateur : il est ainsi possible de l'adapter √† des contraintes ou √† des pr√©f√©rences concernant par exemple la taille d'affichage des caract√®res ou les couleurs. En s√©parant structure et pr√©sentation, CSS favorise √©galement l'√©criture de documents structur√©s de mani√®re s√©mantique, potentiellement plus exploitables par les aides techniques : la libert√© de pr√©sentation des √©l√©ments de titrage permet par exemple de respecter strictement l'ordre hi√©rarchique formel de ceux-ci, ce qui permet en retour aux aides techniques d'en √©tablir une table des mati√®res navigable. Enfin, en donnant aux auteurs les moyens d'enrichir la mise en forme du texte, CSS permet de limiter le recours aux textes mis en images[46].

Cependant, certaines utilisations de CSS peuvent √©galement compromettre l'accessibilit√© du contenu :

  • en substituant √† celui-ci des pseudo-contenus qui ne sont accessibles qu'aux utilisateurs qui peuvent percevoir le rendu CSS visuel : c'est le cas par exemple des informations qui seraient v√©hicul√©es par des images d'arri√®re plan.
  • en bouleversant la coh√©rence n√©cessaire entre l'ordre lin√©aire de l'information dans le contenu structur√© et l'ordre visuel du rendu CSS affich√©. Les aides techniques telles que les lecteurs d'√©cran n'ont en effet acc√®s qu'√† cet ordre lin√©aire : une information qui ne prendrait son sens qu'en fonction de son positionnement CSS n'est pas compr√©hensible pour leurs utilisateurs.
  • dans une d√©marche d'accessibilit√© fond√©e sur la pertinence de la structure HTML, l'√©ventail des possibilit√©s de mise en forme de contenu avec CSS peut faire perdre de vue la n√©cessit√© de baliser le contenu √† l'aide d'√©l√©ments signifiants. Il est par exemple possible de d√©limiter visuellement une citation en la mettant en italique ou en l'encadrant de guillemets, mais l'information sur l'origine de ce texte ne sera perceptible, au sens des normes d'accessibilit√©, que via l'utilisation des √©l√©ments q ou blockquote, qui sont les seuls permettant de d√©finir une citation HTML et d'en indiquer la source via l'attribut appropri√© (cite).

Les méthodes d'application des directives d'accessibilité des contenus web (RGAA, UWEM par exemple) définissent donc des règles d'usages des styles CSS[47].

Simplicité

CSS r√©pond √† une volont√© de disposer d'un format de pr√©sentation simple, tant dans ses fonctionnalit√©s que dans sa syntaxe, afin d'en favoriser la manipulation directe par les auteurs et les utilisateurs. Cependant, cette simplicit√© est remise en cause par plusieurs facteurs :

  • la difficult√© √† d√©terminer et √† contr√īler le r√©sultat de la cascade lorsque les sources de styles se multiplient. Le rendu final d'un contenu pr√©cis d√©pend de la combinaison de plusieurs feuilles et peut alors devenir malais√© √† faire √©voluer. L'interd√©pendance des feuilles de styles peut rendre difficilement anticipable le r√©sultat d'une modification apport√©e √† l'une d'elle. Les auteurs sont alors plac√©s devant un choix entre cette interd√©pendance qui optimise la quantit√© de code et la redondance de styles qui facilite sa maintenance[48].
  • La difficult√© √† √©crire des styles utilisateurs sans disposer de comp√©tences avanc√©es. Les utilisateurs sont en th√©orie les premiers b√©n√©ficiaires des CSS, qui leur donnent la possibilit√© d'adapter la pr√©sentation des pages web. Cependant, le m√©canisme des styles se pr√™te difficilement au d√©veloppement d'environnements graphiques qui faciliteraient la manipulation des propri√©t√©s CSS[49]. Dans la pratique, le recours aux styles utilisateur reste d√®s lors marginal.

Notes et références

  1. ‚ÜĎ (en) Recognized media types, Cascading Style Sheets Level 2 Revision 1 Specification
  2. ‚ÜĎ Media Queries
  3. ‚ÜĎ PhD Thesis: Cascading Style Sheets
  4. ‚ÜĎ Cascade CSS et priorit√© des s√©lecteurs, Openweb, avril 2005
  5. ‚ÜĎ Tim Berners-Lee, The WorldWideWeb browser
  6. ‚ÜĎ Cascading Style Sheets, designing for the Web, H√•kon Wium Lie et Bert Bos, ISBN 0-201-59625-3
  7. ‚ÜĎ Un grand nombre de propositions de formats de styles ont √©t√© faites durant les premi√®res ann√©es du web. Seules les trois principales sont cit√©es dans l'article, mais toutes ont, √† un degr√© variable, influenc√© le format CSS final. Voir http://www.w3.org/Style/History/.
  8. ‚ÜĎ EMail Msg <9310222103.AA03264@sting.Berkeley.EDU>
  9. ‚ÜĎ EMail Msg <199306101923.AA29318@ora.com>
  10. ‚ÜĎ Cascading HTML Style Sheets -- A Proposal
  11. ‚ÜĎ H√•kon Wium Lie, Cascading Style Sheets, Thesis submitted for the degree of Doctor PhilosophiŇď, Faculty of Mathematics and Natural Sciences, University of Oslo, Norway, 2005, http://people.opera.com/howcome/2006/phd/#h-28
  12. ‚ÜĎ plus g√©n√©ralement, ¬ę De nombreuses participants √† la liste de discussion www-talk, le lieu de rencontre √©lectronique de la premi√®re communaut√© web, √©taient d'accord sur le fait que le web tirerait profit des feuilles de styles. Cependant, il y avait un d√©saccord sur le point de savoir s'il avait besoin d'un nouveau langage de feuille de style, ou si l'un des langage d√©j√† existants, cr√©√©s au d√©part pour la publication imprim√©e, suffirait √† ses besoins ¬Ľ. H√•kon Wium Lie, Cascading Style Sheets, Thesis submitted for the degree of Doctor PhilosophiŇď, Faculty of Mathematics and Natural Sciences, University of Oslo, Norway, 2005, http://people.opera.com/howcome/2006/phd/#h-34
  13. ‚ÜĎ JavaScript-Based Style Sheets
  14. ‚ÜĎ Pr√©d√©cesseur d'Amaya, Arena est le premier navigateur d√©velopp√© par le W3C, √† l'origine √† des fins de tests d'HTML3.0. H√•kon Lie collabora √† son d√©veloppement √† partir de 1994 et ce navigateur anticipa de nombreux d√©veloppement ult√©rieurs de CSS2. Abandonn√© par le W3C en tant que plate-forme de test en 1996, Arena fut ensuite temporairement maintenu par le Yggdrasil Computing jusqu'en 1998. Voir http://www.w3.org/Arena/
  15. ‚ÜĎ Cr√©√© par Bert Bos en ao√Ľt 1994, Argo faisait partie d'un projet web de l'Universit√© de Groningue. Voir http://www.w3.org/People/all#bert
  16. ‚ÜĎ les archives de cette liste d√©di√©e au d√©veloppement des CSS sont accessibles sur http://lists.w3.org/Archives/Public/www-style/
  17. ‚ÜĎ Report on the W3C style sheet workshop, Paris '95
  18. ‚ÜĎ ¬ę You can Just Ship software with bugs in it to put out a new stable release because it's versioned. The next version replaces the old. You can always fix the leftover bugs in the next version. CSS doesn't have versions. Any problems there are in the way CSS2.1 defines things can't be fixed in CSS3 except maybe by adding really confusing sets of switches. CSS3 cannot change anything in CSS2.1, it can only build on top of it., What is the CSS Working Group Doing?, Cascading Style Sheets Working Group Blog ¬Ľ, 2 juillet 2007
  19. ‚ÜĎ Cascading Style Sheets, level 1, abstract, http://www.w3.org/TR/REC-CSS1
  20. ‚ÜĎ ¬ę Au bout du compte, la possibilit√© d'√™tre lu et √©crit par l'humain avait une valeur ajout√©e plus √©lev√©e que la possibilit√© de r√©utiliser des analyseurs syntaxiques existants ¬Ľ, H√•kon Wium Lie, Cascading Style Sheets, Thesis submitted for the degree of Doctor PhilosophiŇď, Faculty of Mathematics and Natural Sciences, University of Oslo, Norway, 2005, http://people.opera.com/howcome/2006/phd/#ch-problems
  21. ‚ÜĎ ¬ę Floats were intended to be used to take small pieces of content out of the flow and let the rest of the text wrap around them. They were not intended to be used for the main content of a page, nor were they designed for it. Nevertheless, use of floats for the main content of a page is quite common today ¬Ľ. David Baron, membre du groupe de travail CSS du W3C, Overuse of floats considered harmful.
  22. ‚ÜĎ ¬ę Program Manager ¬Ľ puis ¬ę Platform Architect of the Internet Explorer Platform team ¬Ľ, Chris Wilson est √† partir de 1996 un des acteurs majeurs du d√©veloppement CSS. Voir http://blogs.msdn.com/cwilso/
  23. ‚ÜĎ Le moteur de rendu Trident m√™le en fait deux technologies de rendu graphique : CSS y est concurrenc√© par le m√©canisme connu sous le nom de ¬ę haslayout ¬Ľ, mis en √©vidence par reverse engineering en 2005 par un groupe de d√©veloppeurs ind√©pendants √©tudiants les bugs de rendu CSS d'Internet Explorer Voir On having layout par Ingo Chao, et "HasLayout" Overview (Markus Mielke, Microsoft)
  24. ‚ÜĎ ¬ę Netscape retarde consid√©rablement le d√©veloppement des feuilles de styles sur le web en diffusant en 1996 ses extensions propri√©taires d‚ÄôHTML ; elles offrent la gestion de la couleur, de la fonte ou m√™me du clignotement (‚Ķ) Netscape pr√īne la simplicit√© : les r√©dacteurs de documents HTML ma√ģtrisent ce format car il est simple ; il suffit donc d‚Äôint√©grer aux documents de nouveaux √©l√©ments HTML simples g√©rant la pr√©sentation. ¬Ľ, Daniel Glazman, CSS2, des feuilles de styles pour le Web, d√©cembre 1998, √Čditions Eyrolles.
  25. ‚ÜĎ ¬ę Since its inception Netscape had been sceptical towards style sheets, and the company's first implementation turned out to be a half-hearted attempt to stop Microsoft from claiming to be more standards-compliant than themselves. The Netscape implementation supports a broad range of features - for example, floating elements - but the Netscape developers did not have time to fully test all the features which are supposedly supported. The result is that many CSS properties cannot be used in Navigator 4 ¬Ľ. Bert Bos et H√•kon Lie, Cascading Style Sheets, http://www.w3.org/Style/LieBos2e/history/
  26. ‚ÜĎ cf. CSS1 Test Suite, Version History, http://www.w3.org/Style/CSS/Test/CSS1/current/vhistory
  27. ‚ÜĎ Henri Sivonen, Activating the Right Layout Mode Using the Doctype Declaration
  28. ‚ÜĎ ¬ę Une difficile prise de conscience est en effet possible, car le paysage des navigateurs a commenc√© √† changer : m√™me si Microsoft semble exercer un quasi-monopole de fait avec Internet Explorer, un renouveau est en cours. En effet, des navigateurs alternatifs voient le jour (‚Ķ) Timidement amorc√©e avec Mozilla 0.6, Opera4 et m√™me Internet Explorer 5, l'adoption progressive par les navigateurs des standards HTML4, XHTML1, CSS, ECMASCRIPT (‚Ķ) s'est av√©r√© une n√©cessit√© apr√®s les exc√®s de la p√©riode pr√©c√©dente ¬Ľ, Tristan Nitot et Laurent Denis, pr√©face √† l'√©dition fran√ßaise de Design web: utiliser les standards, Jeffrey Zeldman, 2006.
  29. ‚ÜĎ Positioning HTML Elements with Cascading Style Sheets, W3C Working Draft, 1997
  30. ‚ÜĎ ¬ę CSS2 offers a mechanism for describing and selecting fonts from the web. However, the feature is not much used. Two major reasons for this might be: First, there is no universal font format which all vendors support; and second, font designer want to be compensated for their work and no suitable payment mechanism is available¬Ľ, H√•kon Wium Lie, Cascading Style Sheets, Thesis submitted for the degree of Doctor PhilosophiŇď, Faculty of Mathematics and Natural Sciences, University of Oslo, Norway, 2005, http://people.opera.com/howcome/2006/phd/#ch-problems
  31. ‚ÜĎ Daniel Glazman, ¬ę Les standards HTML et CSS des origines √† mercredi dernier ¬Ľ, http://disruptive-innovations.com/zoo/slides/20060922/
  32. ‚ÜĎ H√•kon Wium Lie, Cascading Style Sheets, Thesis submitted for the degree of Doctor PhilosophiŇď, Faculty of Mathematics and Natural Sciences, University of Oslo, Norway, 2005, http://people.opera.com/howcome/2006/phd/#h-339
  33. ‚ÜĎ About the CSS 2.1 Specification, CSS 2.1 vs CSS 2, http://www.w3.org/TR/CSS21/about.html#css2.1-v-css2
  34. ‚ÜĎ Float, clear et contextes de formatage, Blog & Blues, juin 2006
  35. ‚ÜĎ ¬ę There is no doubt that we will still find (small) bugs in the specification, but given the type of errors we fixed recently, we have reason to believe that the spec is good enough for implementers and users alike. We want people to start implementing and using CSS 2.1 for real (and tell us about any remaining problems, of course) ¬Ľ, Bert Bos, √©diteur de CSS 2.1, http://www.w3.org/blog/CSS/2007/07/20/cssan2_1_is_a_candidate_recommendation
  36. ‚ÜĎ √Čvaluations d'impl√©mentation r√©alis√©es par David Hammond, web browser standards support
  37. ‚ÜĎ ¬ę In such cases, a user agent may implement a subset of CSS. Subsets of CSS are limited to combining selected CSS modules, and once a module has been chosen, all of its features must be supported. ¬Ľ, Introduction to CSS3, http://www.w3.org/TR/css3-roadmap/#whymods
  38. ‚ÜĎ Cascading Style Sheets Current Work, http://www.w3.org/Style/CSS/current-work
  39. ‚ÜĎ ¬ę An open group can iterate much faster than a closed group. With an open group we can get test implementations, feedback, tests, and discussion straight away, instead of waiting months and then pulling back the curtain and presenting a fait accompli, at which points comments are perceived more as a pain than a help. ¬Ľ, Ian Hixon, http://ln.hixie.ch/?start=1181118077&count=1
  40. ‚ÜĎ Daniel Glazman, Calling for a new CSS revolution
  41. ‚ÜĎ CSS Zen Garden
  42. ‚ÜĎ CSS Zen Garden Comprehensive Design List
  43. ‚ÜĎ Le Zen des CSS, Dave Shea & Molly Holzschlag, traduction fran√ßaise, √©ditions Eyrolles, novembre 2005, page 14
  44. ‚ÜĎ ¬ę Depuis le lancement de CSS Zen Garden sont apparues des techniques de remplacement d'images sans recours √† un span. De ce fait, la plupart des √©l√©ments span sont devenus inutiles. Et les classes suppl√©mentaires n'√©tant pas exploit√©es dans 98 % des maquettes soumises, elles sont elles aussi redondantes. La liste d'√©l√©ments div et span vides √† la fin du document est √©galement superflue, sauf pour les possibilit√© d'ouverture offertes au designer. ¬Ľ, Molly Hollzschlag, Dave Shea, Le Zen des CSS.
  45. ‚ÜĎ CSS1 propose un exemple de styles destin√© notamment aux navigateurs : Sample style sheet for HTML 2.0. CSS2 d√©finit une feuille de style type mais indicative pour cet usage: Default style sheet for HTML 4. Avec XHTML2.0, ces styles types sont susceptibles de devenir normatifs : Style sheet for XHTML 2.
  46. ‚ÜĎ ¬ę However, pictures were also a threat to the web. Designers started to encode text in images in order to achieve certain fonts or other special effects. In order for HTML to remain a logical markup language (as opposed to a presentational language) a style sheet language was needed. So, the motivation for developing style sheets was twofold: we wanted to give authors the presentational effects they craved, while stopping HTML from sliding down the ladder of abstraction to become a presentational language  ¬Ľ, Interview with H√•kon Wium Lie, 31 mars 2005, http://www.webstandards.org/2005/03/31/interview-with-hkon-wium-lie/
  47. ‚ÜĎ Par exemple, le test RGAA Accessibilit√© des informations affich√©es comme fonds d'√©l√©ments via les styles CSS.
  48. ‚ÜĎ Dave Shea, (en)Redundancy vs. Dependency
  49. ‚ÜĎ (en)H√•kon Wium Lie, Cascading Style Sheets, Thesis submitted for the degree of Doctor PhilosophiŇď, Faculty of Mathematics and Natural Sciences, University of Oslo, Norway, 2005, http://people.opera.com/howcome/2006/phd/#h-337

Voir aussi

Liens externes

Recommandations du W3C

Bibliographie

Sur les autres projets Wikimedia :

  • Portail de l‚Äôinformatique Portail de l‚Äôinformatique
Ce document provient de ¬ę Feuilles de style en cascade ¬Ľ.

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Feuilles De Style En Cascade de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Feuilles de style en cascade ‚ÄĒ Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards d√©finissant CSS sont publi√©s par le… ‚Ķ   Wikip√©dia en Fran√ßais

  • Feuilles de style ‚ÄĒ en cascade Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards d√©finissant CSS sont… ‚Ķ   Wikip√©dia en Fran√ßais

  • Feuille de style en cascade ‚ÄĒ Feuilles de style en cascade Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards… ‚Ķ   Wikip√©dia en Fran√ßais

  • Cascading Style Sheet ‚ÄĒ Feuilles de style en cascade Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards… ‚Ķ   Wikip√©dia en Fran√ßais

  • Cascading Style Sheets ‚ÄĒ Feuilles de style en cascade Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards… ‚Ķ   Wikip√©dia en Fran√ßais

  • Cascading style sheets ‚ÄĒ Feuilles de style en cascade Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards… ‚Ķ   Wikip√©dia en Fran√ßais

  • Feuille De Style ‚ÄĒ En typographie une feuille de style d√©signe l ensemble d attributs de caract√®res et de formats de paragraphes pouvant √™tre appliqu√©s en une seule op√©ration √† un ou plusieurs paragraphes, √† un livre etc. De fa√ßon extensive c est l ensemble des… ‚Ķ   Wikip√©dia en Fran√ßais

  • Feuille de style ‚ÄĒ En typographie, une feuille de style d√©signe l ensemble d attributs de caract√®res et de formats de paragraphes pouvant √™tre appliqu√©s en une seule op√©ration √† un ou plusieurs paragraphes, √† un livre etc. De fa√ßon extensive, c est l ensemble des… ‚Ķ   Wikip√©dia en Fran√ßais

  • CSS3 ‚ÄĒ Feuilles de style en cascade Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards… ‚Ķ   Wikip√©dia en Fran√ßais

  • CSS 3 ‚ÄĒ Feuilles de style en cascade Pour les articles homonymes, voir CSS. CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert √† d√©crire la pr√©sentation des documents HTML et XML. Les standards… ‚Ķ   Wikip√©dia en Fran√ßais


Share the article and excerpts

Direct link
… Do a right-click on the link above
and select ‚ÄúCopy Link‚ÄĚ

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.