CSS

Cascading Stylesheets: 20 лет CSS

Ранний интернет предназначался для текста, о дизайне речи не шло. Однако 10 октября 1994 года с выходом первой версии будущего CSS началась примечательная история успеха, успеха не без трудностей.

В самом начале был тэг <font> — с него, по крайней мере, начали свое знакомство с CSS первые веб-дизайнеры. На самом деле уже в первой версии CSS было очень много «презентационного», что было в штыки воспринято HTML-программистами. 10 октября 1994 года Håkon Wium Lie, в то время сотрудник CERN (где и зародилась всемирная паутина), опубликовал свое предложение в открытом письме «Cascading HTML style sheets» (англ.). После этого ему пришлось ждать еще несколько лет, пока концепция окрепла и обрела популярность.

HTML изначально был смесью из семантически-струтурирующих и декорирующих элементов, как, например, <b> или <i>. Однако «отрисовывание» документов было переложено на плечи браузеров. Так, например, один из первых браузеров «WorldWideWeb» предоставлял пользователям своеобразные настройки стилей, с помощью которых можно было настроить отображение элементов на свой вкус. А таблицы стилей браузера Viola, увидевшего свет в 1991-м году, и сегодня выглядят весьма современно.

По мнению большинства пионеров вэба, авторы документов вообще не должны были задумываться о том, как их документы будут выглядеть. Еще в феврале 1994 года руководитель Mosaic и Netscape Marc Andreessen отвергал упреки в «уродливости» HTML, утверждая, что отображение — это личное дело браузера. Однако спустя всего год он уже руководил разработкой таких тэгов, как <font> и <blink>.

Håkon Wium Lie предложил каскадные таблицы стилей CSS, однако эта идея в той или иной форме существовала и до того. Например, для SGML был создан язык стилей DSSSL. Впрочем этот язык, как и SGML, оказался очень сложным для вэба. А в середине 1993 года Rob Raisch распространял идею таблиц стилей для HTML («Stylesheets for HTML»). А Bert Bos работал на своим проектом «Simple Style Sheets».

Каскады

Lie и Bos объединили свои усилия и получили поддержку от W3C, основанного парой недель ранее. Lie предложил наследование стилей посредством «каскадов», Bos привнес абстракцию от HTML и некоторые продвинутые идеи. Первые наработки были, конечно, далеки от нынешних стандартов. Например, в качестве разделителя использовались не пробелы, а точки. Да и в целом первые версии основывались скорее на программировании, нежели на декларативных языках.

К концу 1996 года концепция обрела уже настолько стабильную форму, что W3C рекомендовал ее как CSS Level 1. А чуть раньше, в августе того же года появился первый браузер с поддержкой CSS. Это был Internet Explorer 3. Безусловно, такой шаг Microsoft серьезно укрепил позиции CSS. В середине 1997 года Netscape выпустил свой Navigator 4, который тоже поддерживал CSS. Opera поспела за конкурентами только к концу 1998 года.

На сегодняшний день CSS стал гигантской темой, состоящей из множества проектов. Прогноз основателей CSS, что до конца 1999 года концепция будет полностью реализована, был, очевидно, слишком оптимистичным. Однако еще 15 лет спустя реализовано столько всего, о чем в 90-ые даже мечтать не приходилось: градиенты, трансформации, анимация и т.п. Ну, а ожесточенные дебаты вокруг CSS лишний раз доказывают, что даже спустя 20 лет каскадные таблицы стилей остаются живым и развивающимся стандартом.