Zwykły tekst
Surowa treść - słowa i dane, bez formatowania.
Tekst, HTML, CSS i JavaScript to cztery warstwy, z których składa się każda strona, jaką kiedykolwiek otworzyłeś w przeglądarce.
Strona internetowa nie jest jednym dokumentem. Jest kilkoma dokumentami, czytanymi jednocześnie przez przeglądarkę i w precyzyjnej kolejności składanymi w to, co widzisz na ekranie. Każdy z nich ma własny język, własną odpowiedzialność i własny moment, w którym wchodzi do akcji. Kiedy te warstwy się rozdzieli, łatwiej zobaczyć, czym każda z nich naprawdę jest.
Po lewej tekst, po prawej widok strony taki, jaki zobaczyłby użytkownik. Włączaj kolejne warstwy i obserwuj, jak ten sam plik staje się gazetą, plakatem, w końcu narzędziem.
Włącz po kolei tekst, HTML, CSS i JavaScript. Każda warstwa dodaje konkretną odpowiedzialność: treść, strukturę, styl, zachowanie. Możesz edytować kod po lewej i obserwować zmiany po prawej w czasie rzeczywistym.
Surowa treść - słowa i dane, bez formatowania.
Dodaje strukturę: nagłówki, akapity, listy, obrazy.
Dodaje styl: kolory, czcionki, odstępy, układ.
Dodaje zachowanie: kliknięcia, koszyk, interakcje.
Można było zaprojektować jeden język, który robi wszystko naraz. Tak właśnie zaczynało się WWW: HTML zawierał atrybuty wpływające na wygląd: <font color="red">, <center>, <b>. Szybko okazało się jednak, że strona w jednym pliku jest nie do utrzymania: każda zmiana koloru wymagała przeszukania całego dokumentu, a programista nie wiedział, czy edytuje treść, układ czy formatowanie.
Warstwy rozdzielono z powodów całkiem praktycznych. Treść (tekst, HTML) zmienia się przy każdym artykule. Styl (CSS) - przy każdym redesignie. Zachowanie (JavaScript) - przy każdej nowej funkcjonalności. Trzymanie ich osobno pozwala każdą warstwę modyfikować bez ruszania pozostałych.
Przeglądarka czyta plik HTML od góry do dołu. Kiedy napotka znacznik <link rel="stylesheet">, ściąga arkusz CSS. Kiedy znajdzie <script>, pobiera i uruchamia JavaScript. Kolejność tych zdarzeń decyduje o tym, czy strona pojawia się płynnie, czy „migocze": najpierw goły tekst, potem nagle styl, potem nagle interakcje. Dlatego CSS umieszcza się zwykle wysoko (w nagłówku), a skrypty - na końcu, żeby nie blokowały rysowania.
Pomijamy tu trzy rzeczy, które w prawdziwej stronie są nieuniknione: obrazy i czcionki (przeglądarka pobiera je równolegle), żądania sieciowe (każdy zewnętrzny zasób to osobne zapytanie do serwera) oraz cache przeglądarki (w drugim załadowaniu większość plików nie jest pobierana ponownie). Każdy z tych tematów to osobny artykuł.