Krótka historia CSS

Historia CSS (ang. Cascading Style Sheets) zaczyna się w listopadzie 1994 roku, gdzie Hakon Wium Lie na konferencji dotyczącej technologii internetowych w Chicago zaprezentował pierwszy szkic projektu kaskadowych arkuszy stylów zwany Cascading HTML Style Sheets. Przedstawiony przez niego projekt wywołał wiele burzliwych dyskusji. Rozwiązanie było bardzo uproszczone i wielu przeciwników rozwiązania zarzucało projektowi zbyt dużą prostotę i małą użyteczność. Oponenci poszukiwali języka w pełni programowalnego, a nie prostego arkusza stylów.

Język CSS zawitał ponownie na scenie dopiero na konferencji w kwietniu 1995 roku. Hakon zaprezentował wówczas szczegółową specyfikację kaskadowych arkuszy stylów oraz przedstawił pierwszą przeglądarkę internetową Arena browser zmodyfikowaną przez Dave Raggett pod kątem obsługi technologii CSS. Twórcy technologii udowodnili, że język CSS może zapewnić szybki i prosty sposób na modyfikację wyglądu dostarczanych treści, zarówno po stronie ich autorów, jak i ich odbiorców.

W sierpniu 1996 roku kaskadowe arkusze stylów CSS (nie będąc jeszcze rekomendowanym produktem przez organizację W3C – World Wide Web Consortium) zostały pierwszy raz zaimplementowane w komercyjnej przeglądarce Microsoft Internet Explorer 3. Cztery miesiące później, w grudniu 1996 roku, CSS1 został oficjalnie zatwierdzonym i rekomendowanym standardem. Uzyskana rekomendacja poskutkowała znacznym i gwałtownym rozwojem technologii, która w przyszłości miała zastąpić pierwotną wersję.

Wraz z ukończeniem pierwszej wersji CSS i otrzymaniem późniejszej rekomendacji, twórcy przeglądarek zaczęli masowo implementować nowy standard w swoich produktach. Pomimo że pojedyncze elementy technologii CSS były łatwe w implementacji, to już ich łączenie w różne kombinacje powodowało nie lada implikacje i trudne do przewidzenia rezultaty. Spowodowało to, że wiele początkowych wersji przeglądarek obsługujących język kaskadowych arkuszy stylów posiadało bardzo wiele błędów, a poszczególne przeglądarki w znacznym stopniu różniły się pomiędzy sobą zarówno sposobem implementacji, jak i rodzajem otrzymywanych wyników.

Drugą przeglądarką (po Microsoft Internet Explorer 3), która zdecydowała się zaimplementować rozwiązania CSS do swojego projektu była Netscape’s Navigator 4.0. Programiści jednak nie poświęcili wystarczająco dużo czasu na przetestowanie swojego produktu, czego konsekwencją była długa lista nieobsługiwanych właściwości CSS oraz znaczna liczba niezadowolonych użytkowników.

Trzecią przeglądarką wspierającą technologię CSS została w listopadzie 1998 roku Opera. Nowa wersja przeglądarki, w porównaniu do Netscape’s Navigator 4.0 wspierała znaczną większość dostępnych funkcji technologii CSS1 i zawierała znacznie mniej błędów. Nowy projekt został pozytywnie odebrany przez społeczeństwo.

W maju 1998 roku została opublikowana i ponownie oficjalnie zarekomendowana przez W3C kolejna wersja języka CSS o nazwie kodowej CSS2. Od tej pory język CSS zaczął rozwijać się dwutorowo. Część programistów pracowała nad kolejną wersją języka, a część z nich zajęła się poprawą wersji CSS2, która później stała się rekomendowanym standardem o nazwie CSS2.1. Po publikacji standardu CSS2.1 twórcy przeglądarek internetowych ponownie rozpoczęli żmudny proces implementacji nowego standardu w swoich produktach.

Nowa wersja CSS3 była systematycznie rozwijana i publikowana jako seria teoretycznych, autonomicznych modułów, które razem tworzyły jedną monolityczną specyfikację technologii. W 2012 roku trzy główne moduły języka CSS (Color Level 3, CSS Namespaces, Selectors Level 3), połączone wraz z poprzednimi modułami CSS1 i CSS2.1 osiągnęły status rekomendowanej przez konsorcjum W3C technologii. Język CSS3 (będący w rzeczywistości wieloma różnymi modułami) nigdy nie uzyskał własnej (połączonej, jednolitej) specyfikacji, jak to było w przypadku jego poprzednich wersji.

Aktualnie trwają pracę nad kolejną wersją języka o sugerowanej przez internautów nazwie kodowej CSS4, która ponownie jak jej poprzedniczka zbudowana będzie z różnych modułów takich, jak już opublikowana specyfikacja Selectors Level 4. Bazując jednak na opinii twórców i osób bezpośrednio zrzeszonych z projektem z dużym prawdopodobieństwem nie powstanie już nowa wersja języka. Kolejne usprawnienia będą istnieć jako oddzielne, autonomiczne rekomendacje, wzajemnie ze sobą niepowiązane, tworzące nowy i ciągle rozwijający się standard.

[źródło: „Cascading Style Sheets, designing for the Web” Hakon Wium Lie and Bert Bos (wydanie drugie, 1999, Addison Wesley, ISBN 0-201-59625-3)]

[źródło: „CSS and Documents” Eric A. Meyer (2012, O’Reilly Media, ISBN 978-1-449-34247-0)]

Przykład wykorzystania najnowszej wersji języka CSS3