Spis treści Skorowidz Poziom główny Poziom nadrzędny Wstecz Dalej

Formatowanie strukturalne: style w dokumencie HTML

Przykład wstępny

Dialog Rycerz i Alicja

Posmutniałaś. Pozwól, że zaśpiewam ci piosenkę, żeby cię pocieszyć.

Czy to bardzo długa piosenka?

Jest długa, ale jest bardzo, bardzo piękna. Każdemu, kto usłyszał mnie śpiewającego ją… albo napływały łzy do oczu, albo…

Albo co?

Albo nie napływały. Nazwa tej piosenki nazywa się Rybie Oczy.

To znaczy, tak się nazywa ta piosenka?

Nie, nie rozumiesz. Tak się nazywa jej nazwa. A nazwa brzmi Staruszek.

Więc powinnam była powiedzieć: Tak się nazywa ta piosenka?

Nie, nie powinnaś była, to zupełnie inna sprawa! Piosenka nazywa się Sposoby i Drogi; ale tak się tylko nazywa, wiesz!

W takim razie cóż to jest za piosenka?

Właśnie zbliżałem się do tego. Jest to piosenka O siedzącym na furtce, a melodia jest moim własnym wynalazkiem.

Lewis Carroll
O tym, co Alicja odkryła po drugiej stronie lustra
przełożył Maciej Słomczyński

Jak to działa

Obejrzyj tekst źródłowy powyższego przykładu. Zwróć uwagę na sposób zdefiniowania rozmiarów, kroju i kolorów czcionki, wielkości wcięć poziomych i odstępów pionowych. Informacje o parametrach prezentacji skupione są tylko w jednym miejscu: w definicji arkusza stylów. Żadnej informacji tego typu nie znajdziesz w głównej części dokumentu.

Wszystkie elementy nagłówkowe (h1, h2 i h3, bo innych w tekście nie ma) mają wygląd inny, niż domyślny: są wyróżnione kolorem i wycentrowane. Mimo to, znaczniki w tekście źródłowym są zupełnie zwyczajne, np. <h2>Jak to działa</h2>. Zasady wizualizacji określono gdzie indziej: w arkuszu stylów.

Wszystkie elementy zawierające wiodący przykład (dialog z książki L. Carrolla) opatrzono zdefiniowaną w tym celu klasą stylu dialog, która wymusza pewien sposób ich formatowania.

Elementy nagłówkowe mają inne właściwości w obrębie przykładu z dialogiem, a inne w całej reszcie dokumentu.

W tekście źródłowym dialogu nie ma pauz otwierających wypowiedzi, wcięć ani informacji o kroju czcionki. Dla rozróżnienia rozmówców zastosowano uprzednio klasy stylów o nazwach pierwszy i drugi. Przypisane im style odpowiadają za szczegóły prezentacji.

Element cite jest przeznaczony do oznaczania tytułów książek, utworów (a tutaj piosenek). Element em oznacza nacisk emocjonalny Domyślnie przeglądarki formatują je identycznie, wyróżniając tekst kursywą. W bieżącym dokumencie elementy te można rozróżnić na podstawie kroju i koloru czcionki. Jest to skutek przyporządkowania stylu elementowi cite. Stylu elementu em nie modyfikowano i pozostaje domyślny.

W tekście dwukrotnie występują sygnatury autorów, za każdym razem w innym kontekście: raz jako akapit kończący cytowany przykład, drugi raz w treści elementu address odnoszącym się do autorstwa dokumentu. Oba przypadki zostały sformatowane przy użyciu klasy podpis, także zdefiniowanej w arkuszu stylów. Za każdym razem samo nazwisko autora ujęto w znaczniki klasy autor, co umożliwia jednolite traktowanie wszystkich nazwisk autorów w całym dokumencie. W tym przypadku są one składane kapitalikami: .autor {font-variant: small-caps} (w tekście źródłowym nazwiska są napisane małymi literami!).

Cały obszar zawierający komentarze i omówienia wiodącego przykładu opatrzono klasą stylu notatka, za pomocą której wymuszono sposób ich formatowania.

Przeformatowanie dokumentu możemy więc wymusić, zmieniając parametry stylów przypisanych poszczególnym elementom dokumentu, bez ingerencji w sposób oznakowania odpowiednich fragmentów tekstu.

Jak to się robi

Jak widać w tekście źródłowym, definicja stylu mieści się wewnątrz elementu style. Definicja stylu może się odnosić:

Co można określić za pomocą stylu?

Mówiąc ogólnie — prawie wszystko, co jest związane z wyglądem i sposobem prezentacji elementu. Więc przede wszystkim można sterować:

Style mogą zawierać także określenia dziesiątków innych parametrów. Każdy element ma przypisane domyślnie wartości wszystkich składników stylu. Obowiązują one tam, gdzie autor lub redaktor nie przypisał odpowiednim składnikom własnych wartości.

Dalsze obserwacje

Zawartości elementu q, którego zadaniem jest wyróżnianie cytatów, w tym dokumencie są automatycznie ujmowane w cudzysłowy. Osiągnięto to poprzez zdefiniowanie zawartości pseudoelementów o nazwach before (przed) i after (za). I tak style

q:before {content: "\201E"}
q:after {content: "\201D"}

wymuszą automatyczne otaczanie cytatów cudzysłowami (tajemnicze numery są szesnastkowymi kodami UNICODE znaków "„" i "”"). Można osiągnąć nawej więcej: wiadomo, że cytat umieszczony wewnątrz cytatu:

Przyciśnięty do muru, wyjaśnił: <q>powinienem był powiedzieć wtedy
<q>masz rację</q>, ale nie zdobyłem się na to</q>.

winien być otoczony nieco innymi cudzysłowami. Zamiast samemu dbać o odpowiednią postać cudzysłowów, zmusimy do tego automat formatujący, deklarując dodatkowo style pseudoelementów:

q q:before {content: "\BB"}
q q:after {content: "\AB"}

zgodnie z którymi do cytatów wewnętrznych będą stosowane cudzysłowy kątowe. Teraz możemy umieszczać cytaty wewnątrz innych cytatów — lub je stamtąd wyjmować — bez konieczności powtórnego redagowania tekstu:

Przyciśnięty do muru, wyjaśnił: powinienem był powiedzieć wtedy masz rację, ale nie zdobyłem się na to.

Pauzy, rozpoczynające wypowiedzi jednego z rozmówców, nie są umieszczone w tekście, tylko generowane automatycznie za pośrednictwem stylu związanego z pseudoelementami .pierwszy:before i .drugi:before.

Podobnie jak pauzy w dialogach, napisy Uwaga!, Zaobserwuj, i Ćwiczenie są wygenerowane automatycznie za pośrednictwem stylów przypisanych pseudoelementom :before klas uwaga, opis i cwicz. Wymienione klasy zawierają również definicje innych składników sposobu prezentacji zawartości elementów.

W bieżącym dokumencie postać znaczników wyliczeń jest wzorowana na polskich zwyczajach związanych z edycją dokumentów papierowych. Środki, którymi to uzyskano, są podobne, choć nieco bardziej skomplikowane, niż w poprzednich przykładach (oprócz zdefiniowania własnego znacznika trzeba było wygasić znacznik domyślny).

Aha! użyłem tak wielu kolorów tylko po to, żeby efekty pracy natychmiast rzucały się w oczy — nawet przesadnie. Nie zachęcam nikogo do tworzenia papuzich dokumentów. Ale czasem warto na chwilę pomalować styl na czerwono, żeby przekonać się, czy używamy go w odpowiednich miejscach — zwłaszcza kiedy naszym narzędziem pracy jest środowisko WYSIWYG, a nie edytor znakowy.

Wnioski

Kiedy definiować styl? W każdej sytuacji, kiedy rozpatrywany fragment tekstu pełni w dokumencie rolę, która — jak się spodziewamy — będzie przypisana także innym fragmentom. Czyli w sytuacji, kiedy spodziewamy się powtarzalności. Ważne jest, żeby umieć nazwać tę rolę słowami — i żeby to zrobić.

Stosowanie stylów upraszcza i ułatwia pracę redakcyjną. Na przykład:

Przy tym zmiana wyglądu każdego z tych elementów jest centralnie sterowana: koniec z monotonnym przeglądaniem tekstu, żeby wycentrować tytuły lub zmienić krój czcionki w podpisach rysunków. Wystarczy w jednym miejscu zmienić parametr stylu. Czego chcieć więcej? Umieć i używać…

Naucz się używać stylów. Pod koniec pracy może Ci się wydać, że już nie warto. Ale warto choćby po to, żeby nie napracować się jak wariat przy zmianie szaty graficznej Twojej pracy. I żeby w następnej pracy nie robić wszystkiego od nowa…

Twoja praca może być unikalna pod względem treści, ale jej ramowa postać prawie na pewno jest typowa. Tysiące ludzi pisały i będą pisać podobne dokumenty, więc prawdopodobnie ich elementy składowe znalazły odbicie w gotowych arkuszach stylów. Najpierw sprawdź, czy Twoje oprogramowanie dysponuje stylami pasującymi do Twoich potrzeb. Jeżeli znajdziesz taki styl, ale proponowane w nim cechy tekstu nie odpowiadają Twoim szczegółowym wymaganiom, to zmodyfikuj je. Jeżeli odpowiedniego stylu nie znajdziesz, to nie wahaj się z wprowadzeniem nowego stylu.

© Copyright 2001–2003, 2007 by Jan Jełowicki, Katedra Matematyki Uniwersytetu Przyrodniczego we Wrocławiu
janj@aqua.ar.wroc.pl
http://karnet.up.wroc.pl/~jasj