Håkon Wium Lie & Bert Bos: Cascading Style Sheets (recenze)

16. 7. 2008 19:11 (aktualizováno) Martin Hassman

Pánové Håkon Wium Lie a Bert Bos jsou autory návrhu kaskádových stylů (resp. toho vítězného návrhu, ono jich bylo víc). Bert Bos do letošního jara předsedal pracovní skupině pro CSS. Těžko bychom našli osoby, jejichž život je s kaskádovými styly více spjatý. Oba jsou také autory knihy Cascading Style Sheets: Designing for the Web, která se v roce 2005 dočkala svého třetího vydání.

Knih o kaskádových stylech vyšly tucty, ovšem tato je díky svým autorům výjimečná. To, že se jí po mnoha letech dočkalo třetího vydání (1. vydání je již z roku 1997, druhé vyšlo krátce po té v 1999), o něčem svědčí.

Obsah knihy

Kniha je připravená na čtenáře, který HTML ani CSS vůbec nerozumí. První kapitola mu představí základy HTML, následují kapitoly představující principy CSS, selektory, práci s písmy, boxy, pozicováním, barvami, úvod do tiskových stylů (ten bývá v jiných učebnicích často podceňován), priorit kaskádování, stylování XML a tabulek. Kniha je zakončena kapitolou o historii kaskádových stylů (dostupná online: The CSS saga) a referenčním přehledem HTML4.

Na vnitřní straně desek je rozcestník – tabulka s přehledem CSS vlastností. Obsahuje základní informace a odkazy na příslušné stránky knihy. Troufám si tvrdit, že užitečnější rozcestník o CSS jsem dosud neviděl. Ačkoliv kniha není psána jako referenční příručka (je naopak čtivou učebnicí), s pomocí rozcestníku onu referenční příručku relativně dobře nahradí. Kniha obsahuje i klasický rejstřík, ale nikdy jsem neměl důvod ho použít, vždy jsem si vystačil s rozcestníkem.

Třetí vydání knihy pokrývá specifikaci CSS2.1 až na výjimky, jako jsou aurální styly, téměř kompletně. Několikrát jsou zmíněny i CSS3, ale pouze ve smyslu „CSS2 toto dále neřeší, bude to definováno až v CSS3“.

Dojmy

Snadno poznáte, že knihu napsali samotní tvůrci kaskádových stylů. Ať již z poznámek o historii vývoje CSS, ze zasvěceného vysvětlování některých CSS konceptů, kde se nedozvíte jen JAK jsou některé věci v CSS navrženy, ale hlavně PROČ jsou tak navrženy nebo z úvodu knihy, kde autoři neděkují lidem, kteří jim pomáhali se psaním knihy (jak jinak bývá obvyklé), ale lidem, kteří jim pomáhali s tvorbou specifikace CSS.

Z každé knihy o kaskádových stylech čiší osobnost autorů. U některých je to maximalizace přístupnosti stránek, u jiných zase ortodoxní vyhrazování vůči staršímu tabulkovému layoutu. Z Cascading Style Sheets přímo vyzařuje láska k typografii a pěknému designu vůbec. Dokonce i taková graficky tupá hlava, jako je moje, to z celé knihy cítila. Vedle popisu jednotlivých CSS vlastností se tak často objevují i rady, jak je správně používat z pohledu typografie.

Stará škola

V ukázkách knihy je striktně používána minimalistická forma HTML. Odpovídá to nejen roku prvního vydání knihy (1997), ale i tomu, že oba autoři pochází ze staré školy prvotního jednoduchého HTML (jeden z nich navíc napsal v době původního HTML webový prohlížeč). Pro výuku CSS je to přímo skvělé, HTML příklady jsou tak kratší a přehledné, ale dnes to není v módě, a některým čtenářům se to nejspíš nebude líbit. Ovšem v knize je zmíněno i XHTML a o samotném stylování XML je zde celá kapitola.

Ačkoliv byla kniha pro třetí vydání upravena, najdeme v ní občas i screenshoty z dnes již historických prohlížečů. Našel jsem tak i několik screenshotů z Opery 3.5. Na kvalitu knihy to nemá žádný vliv, ale vedle dnešní Opery 9.5 to na někoho může působit jaksi předpotopně.

Pozitiva

V knize jsem našel jen málo chyb, odhadem jednu na každou kapitolu, což je velmi dobré. Většinou se jedná o překlepy. Párkrát se objevily i v místech, kde mi na okamžik zamotaly hlavu, ale jsou to výjimky.

Kniha je nejen čtivá, ale i podaná s pedagogickým umem. Ač znám kaskádové styly léta, vždy existovala řada míst, které jsem odkládal s „tohle se jednou taky naučím“, protože učebnice mi v nich dělaly jen zmatek. Cascading Style Sheets vyniká v tom, jak jednoduše a logicky dokáže všechno vysvětlit. Věci na sebe navazují, kolečka soukolí zapadají.

Teď už třeba vím, co přesně udělá takový zápis margin: 5px 10px 15px. Četl jsem o něm před tím mnohokrát, ale nikdy jsem si nebyl schopen zapamatovat, co které číslo u tohoto méně obvyklého zápisu značí. Po jednom přečtení Cascading Style Sheets to vím a již nikdy nezapomenu (klidně mě někdy vyzkoušejte). Konečně mám jasno, co přesně dělá display: run-in nebo jak boxmodel řeší konfliktní situace, např. že se u blokového prvku s width:auto a margin-left:auto levý margin vždy nastaví na nulovou šířku apod.

Pokud o kaskádových stylech již něco víte a hledáte, jak si své znalosti doplnit, možná vám kniha podobně jako mě pomůže odstranit zbylá „bílá místa na mapě“.

Negativa

Kniha je z roku 2005, a proto obsažený přehled kompatibilit s prohlížeči končí u velmi starých a dnes již minoritních verzí: Internet Explorer 6, Firefox 1, Opera 8. Je ale nutné zdůraznit, že síla knihy nespočívá v přehledu aktuálních (ne)kompatibilit prohlížečů, ale v jednoduchém vysvětlení principů kaskádových stylů, které jsou nadčasové.

Pohled na prohlížečovou realitu se v knize omezuje pouze na trojstavové ohodnocení (nepodporuje, částečně podporuje, dostatečně podporuje) u každé vlastnosti a nic víc! Celá kniha je o kaskádových stylech tak, jak byly navrženy, žádné popisy odchylek, rozbory odlišného box modelu apod. Opět je znát, že knihu nenapsal ostřílený praktický webdesigner, nýbrž samotní tvůrci CSS.

Proto i vydání z roku 2005 je stále aktuální a zůstane jím i nadále. Pokud čtenář hledá přesný přehled (ne)kompatibilit CSS v prohlížečích, musí buď sáhnout po zcela jiné knize nebo si po přečtení Cascading Style Sheets tyto znalosti doplnit praxí.

V knize nenajdeme ani rozšířené triky, které se sice ujali a používají, ale se kterými autoři kaskádových stylů nepočítali, např. použití plovoucích prvků pro tvorbu designu stránky. Proto oblíbené šablony pro vícesloupcový layout v knize nehledejte (ostatně bez problémů je naleznete na Internetu).

Závěr, komu je kniha určena

Cascading Style Sheets vás naučí kaskádové styly jako žádná jiná kniha. Nekompromisně tvrdím, že v tomto se jedná o nejlepší knihu na světě, která jen stěží bude překonána (srovnejte s recenzemi u nakladatele). Na druhou stranu se jedná o knihu, která vás kódování layoutu pro dnešní prohlížeče a běžné webdesignérské triky naučí ze všech knih o CSS nejméně. Pokud byste přečetli pouze knihu a neměli další zdroje informací, těžko byste zvládli složitější design než má kupříkladu tento blog.

To předurčuje i její publikum. Zatímco kodér začátečník dnes raději sáhne po nějaké praktické knížce, se kterou může rovnou tvořit něco „strašně cool“ (která je navíc v češtině a výrazně levnější), ti o něco zkušenější, kteří mají trochu praxe a přehled v kompatibilitách prohlížečů, by měli Cascading Style Sheets zvážit, protože jim pomůže kaskádové styly využít naplno, což by se jinak učili dlouho.

A pokud snad kaskádové styly učíte nebo o nich píšete, pak bych vám vřele doporučil právě tuhle knihu, protože pedagogicky jednodušší vysvětlení tajů CSS prostě nikde jinde nenajdete.

Kuriozita

Zajímavostí je, že pro třetí vydání byla celá kniha přepsána do HTML a CSS. Pomocí PrinceXML pak bylo vygenerováno PDF, které šlo k tisku. Autoři tak chtěli dokázat, že HTML+CSS je možné použít nejen k tvorbě webových stránech, ale i k psaní rozsáhlých knih. Při té příležitosti vytvořili mikroformát BOOM (book microformat), jehož součástí jsou potřebné syntaktické triky pro psaní knihy, např. křížové reference čísel kapitol, stránek apod. Samotné CSS2 k tomu nestačilo. Právě na základě zkušeností s přepisováním této knihy rozšířili autoři CSS3 o některé nové vlastnosti. K napsání knihy o CSS2 bylo tedy zapotřebí již CSS3.

Informace o knize

Autoři: Håkon Wium Lie, Bert Bos
Název: Cascading Style Sheets: Designing for the Web

Jazyk: Angličtina
ISBN: 0–321–19312–1
Rozsah: 392 stran
Rok vydání: 2005
Vydal: Addison-Wesley
Cena: 1300,– u Shakes.cz, $31.49 + poštovné u Amazonu

Sdílet