css 4 ach te internety @jeremybishop

CSS4 – znam datę wydania!

Oto artykuł, którego szkic chowałam na blogu przez 2 lata. Czemu tak długo? Gdzieś po drodze doszłam do wniosku, że temat się przeterminował. Mózg podpowiedział, że każdy zagadnienie zna, rozumie i ostatecznie – nie ma o czym pisać. Jednak doświadczenie mówi co innego: nieustannie spotykam się z błędnymi hasłami dotyczącymi CSS4. Dość tego.

Wersja dla zabieganych

Data wydania CSS4 to…. NIGDY. Nie ma i (z dużą dozą prawdopodobieństwa) nigdy nie będzie CSS4.

Wersja dla dociekliwych

Jesteśmy przyzwyczajeni do pojęcia CSS3. Książki, kursy, artykuły… Powszechnie wiemy, że wcześniej było CSS1, następnie CSS2, teraz CSS3… To o co chodzi z tym CSS4? Czemu ono nie istnieje i… nigdy istnieć nie będzie?

Zacznijmy od początku.

CSS1 pojawiło się na świecie w tym dokumencie. Zaczyna się od zdania „This document specifies level 1 of the Cascading Style Sheet mechanism (CSS1).”, które od razu wskazuje na nazwę CSS1 jako pierwszą wersję CSS. Owy dokument zawiera specyfikację kluczowych podstaw CSS (marginesów, obramowania, kolorów…). Jest względnie krótki (zawiera opis nie więcej niż 60 własności), do przeczytania w jeden piątkowy wieczór.

Kilka lat później pojawia się specyfikacja CSS2.1, a następnie CSS2.2. Zawierają zarówno poprawki do CSS1, jak i nowe własności. Ostatecznie zmian w wersji 2 było BARDZO DUŻO. Cały dokument został podzielony na sekcje, dzięki którym autorzy próbują ratować czytelność i spójność dokumentu. Niemniej jednak rozwój CSS2 wiązał się z ogromnym problemem utrzymania tak rozległej specyfikacji i wszelakich trudów wdrożenia nowych wersji. Aby nowy dokument stał się oficjalną rekomendacją, wszystkie funkcjonalności w nim opisane muszą zostać przetestowane. Im większa liczba funkcjonalności, tym wydłużony czas oczekiwania na zakończenie procesu standaryzacji. Dodaj to tego fakt, że przeglądarki implementują nowości według swojego widzimisię. To, co im się podoba – w takiej kolejności, jaką uznają za słuszną. W takiej sytuacji zamknięcie specyfikacji tak wielkiej jak CSS2.1 było ogromnym wyzwaniem, które trwało 9 lat. Stało się oczywiste, że prace nad CSS3 w formie pojedynczego dokumentu nie mają sensu.

A więc ludzie z CSS Working Group zdecydowali się podzielić jedną specyfikację CSS na kilka dokumentów (tzw. moduły).

Wielki rozłam.

Ostatecznie CSS3 nie posiada swojej jednej specyfikacji, jak to miało miejsce w przypadku CSS2, czy CSS1. Pojęcie CSS3 oznacza zbiór wielu, osobnych, niezależnych dokumentacji. Każda z nich indywidualnie przechodzi ścieżkę implementacji i standaryzacji.

Moduły, które bazują na CSS2.1 (CSS2.2 to tylko First Public Working Draft), zawierają w swojej nazwie Level 3. Na przykład moduł dla tła i obramowania CSS Backgrounds and Borders Module Level 3, moduł dla kolorów CSS Color Module Level 3, czy też moduł dla czcionek CSS Fonts Module Level 3. W każdym z nich mamy zaktualizowaną wersję CSS2.1 + nowe funkcjonalności.

I jak dalej żyć?

Oczywiście po ukazaniu się CSS3 świat rozwija się dalej, a w branży pojawiają się nowe narzędzia.

Weźmy takiego Flexboxa i popatrzmy teraz na nazwę jego specyfikacji: CSS Flexible Box Layout Module Level 1. Nie urodził się z Level 3, ani Level 4. Tylko po prostu Level 1.

Podobnie CSS Grid w swojej pierwszej wersji nazywał się CSS Grid Layout Module Level 1. Obecnie jest na etapie Candidate Recommendation. Wszelakie nowe pomysły trafiają do kolejnej wersji, nazwanej CSS Grid Layout Module Level 2, będącej na etapie Working Draft.

Popatrzmy teraz na wspomniany wcześniej moduł czcionek, który już po tzw. wydaniu CSS3 został zaktualizowany, z poziomu 3 do poziomu 4: CSS Fonts Module Level 4.

Wniosek jest następujący: moduły, które urodziły się w czasie CSS3 (podziału jednej specyfikacji na grupę niezależnych dokumentów), miały nadany w nazwie Level 3, a ich aktualizacje posiadają w nazwie kolejno Level 4, 5… itd. Zupełnie nowe funkcjonalności (np. Flexbox, CSS Grid), zaczynają życie od Level 1, aktualizując się do Level 2, 3… Całkiem logiczne, prawda?

Pamiętaj jednak, że do pojęcia CSS3 zaliczają się obie grupy specyfikacji – zarówno te zbudowane bazie CSS2.1, jak i te zawierające zupełnie nowe funkcjonalności. Niezależnie od ich poziomu – każda z nich to oględnie mówiąc CSS3. One oczywiście się rozwijają, każda według własnej ścieżki (i numeracji poziomu), jednak nadal pozostają w obrębie terminu CSS3. I najprawdopodobniej nigdy z niego nie wyjdą.

Uffff. Mam nadzieję, że już rozumiesz absurd pojęcia CSS4.


A na zakończenie podrzucam wartościowy odnośnik, który pięknie zamknie cały ten przydługi wywód o CSS4. TUTAJ znajdziesz listę WSZYSTKICH specyfikacji CSS, ich statusy i powiadomienia o aktualizacjach. Łap!

Artykuły, które mogą Ci się spodobać...

Wpisz hasło, którego szukasz i naciśnij ENTER, aby je wyszukać. Naciśnij ESC, aby anulować.

Dawaj na górę