CSS célèbre sa vingtième année (par Stéphane le calme)
par
, 21/10/2014 à 17h54 (727 Affichages)
Le père des feuilles de style en cascade s'entretient avec Dev.Opera pour faire un tour d'horizon.
Il y a deux décennies, Håkon Wium Lie qui occupait le poste de Directeur de la Technologie au sein d’Oracle a publié un document qui allait marquer la révolution dans la présentation des documents HTML et XML : il a été appelé feuilles de style en cascade HTML – une proposition . Par la suite, les standards définissant CSS sont publiés par le Word Wide Web Consortium (W3C).
Pour célébrer l’anniversaire du CSS, Dev.Opera a eu un entretien avec l’initiateur du concept de la feuille de style. Durant cet échange, il a expliqué par exemple pourquoi il a proposé le CSS « afin de sauver HTML » : « HTML aurait été différent sans l’apparition du CSS » a-t-il avancé. « Les auteurs, moi compris, issus d’un environnement de publication sur desktop ont été déconcertés par la pauvreté des balises <couleur> et <font>. Lors de ma première publication réelle sur le web, j’ai dû avoir recours à des images dans lesquelles il y avait du texte. Si ce développement avait perduré, le web serait devenu une machine géante de fax où les images avec du texte seraient transmises. Cela aurait été terrible aussi bien pour les utilisateurs aveugles que pour les moteurs de recherche. CSS a été proposé pour prévenir cette évolution en donnant aux créateurs un moyen d'exprimer leurs conceptions sans avoir à ajouter de nouvelles balises HTML ».
Il faut savoir qu’au moment où la proposition relative au CSS a été déposée, elle n’était pas la seule puisqu’elle a fait face à une concurrence. Comme le rappelle Lie, « il y avait environ une douzaine de propositions concernant les langages de feuilles de style à utiliser. Cependant, toutes n’étaient pas convenables en raison des caractéristiques sur le web. Par exemple, les navigateurs utilisent le rendu progressif pour afficher les documents et ils doivent gérer des situations où les feuilles de style ne sont pas accessibles. » Avec une panoplie importante de services disponibles sur le web, il était impossible d’écrire une feuille style pour chacun d’eux. Aussi, les langages de feuille de style se doivent d’exprimer des conceptions à la fois évolutives et réactives. Alors pourquoi ce langage a-t-il été choisi au lieu d’un autre ? Le père du CSS reconnaît que son avis ne sera pas objectif mais estime néanmoins que le CSS a de nombreuses caractéristiques notables qui le rendent particulièrement adapté pour une utilisation web comme les pseudo-classes, les pseudo-éléments, le support de différent type de média, la grande emphase sur les sélecteurs, l’héritage ou encore l’unité « em ».
Concernant le positionnement avec le CSS, il lui a été demandé comment le positionnement absolu est né mais également si c’était une mauvaise chose de ne pas l’apprécier. « Votre question me ramène à certains débats houleux qui ont eu lieu en 1996. Pour la petite histoire, Microsoft a proposé le positionnement absolu dans un projet appelé Régions CSS : Positionnement absolu et Z-alignement. Plusieurs membres du groupe de travail CSS nouvellement formé ont émis des réserves et Bert et moi avons écrit une contre-proposition simplifiée. Notre proposition se débarrasse de la propriété position (display a été utilisée à la place) et a seulement décrit un positionnement relatif (ce qui nous donnera le temps de réfléchir au positionnement absolu). Cependant, Microsoft avait déjà mis en œuvre sa proposition et il était réticent à l’idée de retirer la fonctionnalité. En fin de compte, les seuls changements importants qui ont été ajoutés étaient les propriétés right et bottom (pour équilibrer left et top), et l’ajout de position: fixed qui a fait partie intégrante de CSS2. » Et il a affirmé que « comme vous, je n'ai jamais été à l'aise avec le positionnement absolu. Cela étant dit, le positionnement absolu a trouvé sa place sur le web et je l'utilise de temps en temps pour réaliser des choses qui seraient autrement difficiles, sinon impossibles, à programmer »
Toujours à propos des positionnements mais cette fois-ci avec la propriété float qui retire une boîte du flux normal pour la placer le plus à droite ou le plus gauche possible dans son conteneur, il lui a été demandé si le fait que les flotteurs soient utilisés pour les présentations même s’ils n’y sont pas « destinés » (ils ont été pensés pour mettre du texte à côté des images) est une erreur même si la technique fonctionne. « Avoir du texte tout autour des images est l’une des techniques de base de mise en page. Il est évident que les flotteurs doivent être utilisés pour la mise en page. L’un des domaines dans lesquels je voudrais que le CSS progresse est la présentation sur un écran paginé. Lorsque vous paginez du contenu, les flotteurs deviennent encore plus utiles car vous pouvez faire flotter les éléments vers le haut et le bas de l'écran. »
Concernant des propriétés qu’il aurait enlevé ou ajouté au CSS, il a dit qu’il se serait volontiers passé des codes spécifiques aux versions comme <!--[if lt IE 7 ]> ; « même si techniquement ils ne sont pas exprimés en CSS, ces sortes de "commentaires" n’ont pas lieu d’être nécessaires et ils abaissent les normes du Web ». Il a par la suite dit ce qu’il aurait bien voulu ajouté au CSS comme les web fonts en 2006 qui sont venus avec CSS3 pour permettre d’utiliser une police de caractère qui sera chargée au moment de l'appel de la feuille de style dans laquelle est déclarée le sélecteur @font-face. Il faut préciser que ce sélecteur existe depuis CSS 2.0 mais seul Internet Explorer l'implémentait depuis sa version 4 et avec un format de police propriétaire peu pratique. Il a également rappelé que le CSS n’est pas uniquement pour les navigateurs. Par exemple une application développée par Michael Day et ses collègues à Melbourne pour créer un PDF à partir du HTML et du CSS.
Source : intégralité de l'entretien