Niedawno, z racji zmiany profilu zawodowego zmuszony byłem stworzyć trochę interfejsów webowych. Niestety, mój antytalent graficzny znowu dał o sobie znać (zastanawialiście się, czemu w tym blogu używam standardowego szablonu Wordpresa? No to już wiecie), i efekty były mizerne.
Przypomniałem sobie wtedy o książce, stojącej na mojej półce. Książka ta traktowała o CSS. Oczywiście wiedziałem czym jest CSS, bo sama jego idea jest prosta jak konstrukcja cepa i można ją streścić zdaniem „powiedz przeglądarce żeby rysowała zawartość taga h1 czcionką szóstką w kolorze żółtym na białym tle”. Tyle wystarczyło żeby wejść w świat CSS…
W każdej technologii informatycznej, która choć trochę przypomina język programowania zastosowanie ma jedna z dwóch metod nauki. Pierwszą z nich jest mozolny akademicki wykład i omawianie każdego zagadnienia w sposób wyczerpujący, stopniowo budując wiedzę i w miarę rozwoju studenta pokazując mu coraz trudniejsze zagadnienia bazujące na wiedzy już zdobytej. Drugą szkołą jest mówienie czytelnikowi: „popatrz, taka komenda robi to i to, i teraz dzięki połączeniu tego i tego, mamy taki efekt!”. Eric Meyer stosuje drugą metodę i uczciwie należy stwierdzić, że jest to podejście lepsze.
W pewien sposób CSS przypomina u Meyera gotowanie: aby smażyć dobre kotlety, nie trzeba być mistrzem kuchni chińskiej. Z jednej strony mamy bowiem zabawę za pomocą grafiki z wprowadzaniem krzywych do projektu i pozycjonowaniem elementów, z drugiej zaś walczymy z kolorystyką i szeroko pojętą „grafiką” strony. Elementy CSS są od siebie mniej więcej niezależne, a Meyer pokazuje w kolejnych rozdziałach co CSS potrafi. Takie książki uwielbiam – autor pokazuje mi, co jest dostępne w danej technologii, jak uzyskać pewne proste efekty a ode mnie, jako programisty, zależy jak połączę klocki w całość. Wiem też, że jeżeli jakieś zagadnienie mnie zainteresuje, to zawsze mogę znaleźć na półce w księgarni odpowiednią „cegłę”, z której doczytam to, co mi będzie potrzebne.
Można oczywiście stwierdzić, że metoda przyjęta w tej książce nie jest uniwersalna, i ciężko będzie się z tym nie zgodzić. O ile bowiem CSS można się uczyć poprzez poznawanie tylko tych jego elementów, które są w danej chwili niezbędne (nie wchodząc na przykład w zaawansowane zagadnienia budowy selektorów i różnic w implementacji przeglądarek), o tyle nie wyobrażam sobie w podobny sposób nauki Javy.
Pierwszy raz czytałem tę książkę do poduszki. Obecnie zaglądam do niej na zasadzie podręcznika i pomocy podręcznej. Pomaga w tym doskonale dobry indeks oraz tematyczne pogrupowanie rozdziałów. Z najciekawszych projektów prezentowanych w podręczniku należy wymienić konwersję istniejącej strony internetowej opartej na nieskończonej ilości tabelek na stronę w pełni DIVowską, ożywianie linków, pozycjonowanie elementów (choć dla mnie nadal tabela jest najlepszą metodą na umieszczenie dwóch DIVów obok siebie) czy wreszcie zmianę nieciekawej strony w grzyba (o wielu łukach) wypełnionego tekstem. Efektem ubocznym lektury była zmiana mojej osobistej definicji CSS, gdyż teraz już wiem, że poza zmianą wyglądu strony, można w CSS robić rzeczy wielkie. Ale póki co ten obszar CSS to dla mnie „tam żyją smoki”.
Eric A. Meyer: CSS według Erica Meyera. Sztuka projektowania stron WWW, Helion, Gliwice 2005
PS. Żeby nikt nie miał wątpliwości – “CSSowy imbecyl” to oczywiście ja.