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.
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 widać w tekście źródłowym, definicja stylu mieści się
wewnątrz elementu style
.
Definicja stylu może się odnosić:
* {opis-stylu}
definiuje styl formatowania
elementów wszystkich typów;
h1 {opis-stylu}
definiuje styl formatowania
wszystkich elementów typu h1
;
ul li {opis-stylu}
definiuje styl formatowania
elementów list nienumerowanych; tym sposobem określiliśmy głębokość wcięcia
i odstępy pionowe dla elementów list w tym dokumencie;
h2 + p {text-indent: 0cm}
wymusi rezygnację z wcięć akapitowych
w akapitach (elementach typu p
) następujących bezpośrednio po nagłówku rozdziału (elementach typu h2
);
.notatka {opis-stylu}
definiuje nową klasę stylu
o nazwie notatka
, którą można przypisać wybranym elementom
różnych typów — w tym dokumencie użyto jej do
niektórych elementów typu div
, p
i ul
;
p.pierwszy {opis-stylu}
definiuje nową klasę stylu
o nazwie pierwszy
, którą można przypisać tylko
elementom typu p
, czyli akapitom;
ul .notatka {opis-stylu}
definiuje znaczenie klasy stylu
o nazwie notatka
, jeżeli będzie użyta do dowolnego elementu
znajdującego się wewnątrz elementu ul
;
.dialog h2 {opis-stylu}
umożliwia określenie wyglądu elementu h2
umieszczonego w obszarze
działania klasy .dialog
; wpis taki spowodował np. to, że w obszarze
przykładowego dialogu (sformatowanego jako element div
klasy
.dialog
) nagłówek typu h2
jest składany czcionką
barwy czarnej, chociaż styl domyślny dla elementu h2
obowiązujący
w naszym dokumencie przewiduje barwę niebieską;
:before
definiuje wpis poprzedzający blok,
np. styl
spowoduje poprzedzenie każdego akapitu klasyp.wskaz:before {content: "Wskazówka. " color: blue}
wskaz
drukowanym na niebiesko słowem Wskazówka.(razem z kropką i spacją). Tym sposobem uzyskano poziome kreski rozpoczynające kwestie rozmówców w dialogu stanowiącym bazowy przykład prezentowany w tym rozdziale;
:after
zarządza tekstem dodawanym
po zakończeniu elementu;
:first-line
określa specjalny sposób
przedstawiania pierwszego wiersza zakresu elementu,
np. zgodnie z definicją stylu
pierwszy wiersz każdego akapitu będzie drukowany czcionką powiększoną (w stosunku do domyślnej) i pogrubioną;p:first-line {font-size: larger; font-weight: bold}
:first-letter
definiuje sposób traktowania
pierwszego znaku znajdującego się w zakresie elementu. Na przykład styl
wymusi drukowanie pierwszego znaku każdego akapitu pochyloną odmianą obowiązującej czcionki o wielkości 16 punktów, w kolorze szarym. Jednak takie litery będą rozpoczynać każdy nowy akapit, co nie jest zbyt mądre. Rozsądniej zaprojektowany jest opis stylup:first-letter {color: gray; font-size: 16pt; font-style: oblique}
który wymusza sposób prezentacji inicjałów, czyli pierwszych liter akapitów otwierających kolejne rozdziały poziomuh2 + p:first-letter {color: gray; font-size: 16pt; font-style: oblique}
h2
.
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ć:
display: typ-prezentacji
.
Możliwe wartości to:
blok wierszowy (inline
),
blok eksponowany (display
),
blok ignorowany (none
) i klika innych, które pominiemy;float: strona
.
Możliwe wartości to: element tekstu głównego (none
),
element pływający z lewej (left
)
lub z prawej (right
) strony;clear: strona
.
Możliwe wartości to: brak efektu (none
),
unikanie elementów pływających umieszczonych z lewej (left
),
prawej (right
) lub obu (both
) stron;text-align: sposób-wyrównywania
(do lewej, do prawej, centrowanie, justowanie),width: szerokość
,height: szerokość
,margin-left: szerokość
,margin-right: szerokość
,margin-top: szerokość
,margin-bottom: szerokość
,text-indent: szerokość
(jest to jedyny poprawny sposób określania wcięcia akapitowego!),font-size: rozmiar
,font-weight: grubość
,font-family: nazwa rodziny lub grupy czcionek
(ogólnie: czcionka szeryfowa, bezszeryfowa, stałej szerokości lub przez nazwę,
np. Palatino, Helvetica),font-style: odmiana
(np. kursywa, czcionka prosta, czcionka pochyła);letter-spacing: szerokość
(np. pismo rozstrzelone),word-spacing: szerokość
;line-height: interlinia
;color: kolor
,background-color: kolor
;content: "treść"
w definicji stylu
pseudoelementu :before
lub odpowiednio :after
.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.
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.
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.