World Wide Web Consortium - specyfikacje Cascading Style Sheets W3Schools - CSS Tutorial Index DOT Css

Podobne dokumenty
LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH

KASKADOWE ARKUSZE STYLÓW (Cascading Style Sheets)

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css.

Kaskadowe arkusze stylów (CSS)

Tworzenie Stron Internetowych. odcinek 6

Podstawy HTML i styli CSS. selektor {właściwość1: wartość1; właściwość2: wartość2}

Tworzenie Stron Internetowych. odcinek 7

CSS. Kaskadowe Arkusze Stylów

p { color: yellow; font-weight:bold; }

Danuta ROZPŁOCH-NOWAKOWSKA Strona Moduł 4. Przykład 1. Przykład 2. HTML 4.01 Transitional).

Dokument hipertekstowy

Kaskadowość stylów określa pierwszeństwo w oddziaływaniu na te same elementy strony różnych stylów.

za pomocą: definiujemy:

Dziedziczenie. Dziedziczenie i kaskadowość. Dodał Administrator środa, 10 marzec :00. Tematy: Dziedziczenie Kaskadowość

CSS pozwala przypisać poszczególnym elementom na. grubość, rozmiar czcionki, kolor tła, odległości między

I. Formatowanie tekstu i wygląd strony

Zdefiniowane style mogą określać układ treści na stronie i sposób jej formatowania np. kolor czcionki, pogrubienia, tło tabel, rysunków itp.

Systemy internetowe Wykład 2 CSS

Bezbolesny wstęp do CSS

Krótki przegląd własności języka CSS

Witryny i aplikacje internetowe

Ćwiczenie 10 - Selektory

Tworzenie Stron Internetowych. odcinek 6

Czcionki. Rodzina czcionki [font-family]

używane skróty: HTTP - protokół do transferu tekstu, hipertekstu, zbiorów binarnych URL - jednolity lokalizator zasobów

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Ćwiczenie 9 - CSS i wstawianie CSS

Blok dokumentu. <div> </div>

CSS - style kaskadowe. Cascadind Style Sheets

Przedmiot: Grafika komputerowa i projektowanie stron WWW

Programowanie WEB PODSTAWY HTML

Selektory Pseudoklasy. Gabriela Panuś

STRONY INTERNETOWE mgr inż. Adrian Zapała

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Jednostki miar stosowane w CSS

CSS - layout strony internetowej

Lab.1. Praca z tekstem: stosowanie arkuszy stylów w dokumentach OO oraz HTML/CSS

Pierwsza strona internetowa

Elementarz HTML i CSS

Oczywiście występują także znaczniki, bez ich odpowiednika kończącego, np. <BR>

Projektowanie aplikacji internetowych. CSS w akcji

HTML. HTML(ang. HyperTextMarkupLanguage, pol. hipertekstowy język znaczników) język wykorzystywany do tworzenia stron internetowych

HTML (HyperText Markup Language) hipertekstowy język znaczników

I. Menu oparte o listę

HTML podstawowe polecenia

Tworzenie Stron Internetowych. odcinek 7

Young Programmer: HTML+PHP. Dr inż. Małgorzata Janik, Zajęcia #2

Można też ściągnąć np. z:

Ćwiczenie 4 Konspekt numerowany

2 Podstawy tworzenia stron internetowych

Języki programowania wysokiego poziomu. CSS Wskazówki

Znaczniki języka HTML

Podstawy technologii WWW

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści

Krok 1: Stylizowanie plakatu

Zadanie 1. Stosowanie stylów

Struktura języka HTML ZNACZNIKI. Oto bardzo prosta strona WWW wyświetlona w przeglądarce: A tak wygląda kod źródłowy takiej strony:

Znaczniki fizyczne i logiczne czcionki

Można też ściągnąć np. z:

TECHNOLOGIE SIECI WEB

Tworzenie Stron Internetowych. odcinek 5

MS Word Długi dokument. Praca z długim dokumentem. Kinga Sorkowska

1.Formatowanie tekstu z użyciem stylów

I. Wstawianie rysunków

Nazwa implementacji: CSS i box model. Autor: Opis implementacji: Poznajemy podstawy CSS oraz dowiadujemy się o rozmieszczaniu elementów na stronie.

Tworzenie stron internetowych z wykorzystaniem HTML5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

DOKUMENTÓW W EDYTORACH

Tabele. Przykład 15a.htm. <HTML><HEAD><TITLE> Cennik</TITLE></HEAD><BODY><H3>Cennik</H3> <TABLE BORDER="1"> <TR>

CSS (kaskadowe arkusze stylów) to narzędzie do formatowania dokumentu. Obecna wersja to CSS 2.1

Laboratorium 1: Szablon strony w HTML5


KASKADOWE ARKUSZE STYLÓW CSS (ang. Cascading Style Sheets)

CSS - 2. Właściwości tekstu, czcionek

Wrocław dn. 20 kwietnia 2006 roku. Temat lekcji: Style CSS.

Konstrukcja stylu nie należy do zbyt skomplikowanych i wygląda tak jak na poniższym przykładzie.

Box model: Content. Content - obszar zawartości określany jest za pomocą deklaracji wysokości i szerokości.

CSS Kaskadowe Arkusze Stylów

Podstawy edycji tekstu

Tworzenie stron internetowych w kodzie HTML Cz 5

Aplikacje internetowe

HTML5 i CSS. Deklaracja <!DOCTYPE> musi być na początki dokumentu napisanego w HTML5 przed tagiem <html>.

Formatowanie tekstu przy uz yciu stylo w

Wykład 2: Kaskadowe arkusze stylów (CSS Cascade Style Sheets)

Specyfikacja techniczna dot. mailingów HTML

Ćw. IV. Tworzenie stron internetowych. Podstawy projektowania, wprowadzenie do języka HTML

Podstawy HTML i CSS. Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski

Język (X)HTML. Podstawowe znaczniki i parametry. dr Konrad Dominas / UAM

Justyna Klimczyk Nauczyciel informatyki Gimnazjum im. Władysława Stanisława Reymonta w Kleszczowie

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

LABORATORIUM 3 WSTĘP DO SIECI TELEINFORMATYCZNYCH CSS CECHY WYBRANYCH SELEKTORÓW

Edytor tekstu OpenOffice Writer Podstawy

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

Podstawowe zasady edytowania dokumentów w Szkole Podstawowej w Wietlinie

Kaskadowe arkusze stylów cz. 2

P S E U D O K L A S Y I P S E U D O E L E M E N T Y

Aplikacje internetowe Koncepcja Architektura Technologie

Przepis. Wstęp HTML & CSS. W tym projekcie nauczycie się, jak stworzyć stronę internetową ze swoim ulubionym przepisem. Zadania do wykonania

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Transkrypt:

Wstęp Uwaga: Część kursu poświęcona stylom ma ciągle charakter tymczasowy - owa tymczasowość awansowała najwyraźniej do roli stałości :-). Wynika to z tego, że przeglądarki internetowe implementują interpretację stylów stopniowo, więc przy kolejnych aktualizacjach przeglądarek można się spodziewać następnych poprawek. Bardziej wnikliwym czytelnikom polecam lekturę tłumaczenia dość sformalizowanego Przewodnika po stylach CSS2, a także trzy anglojęzyczne źródła: World Wide Web Consortium - specyfikacje Cascading Style Sheets W3Schools - CSS Tutorial Index DOT Css Języki służące do budowy stron WWW zostały uzupełnione o potężne narzędzie do formatowania dokumentów internetowych - style (CSS - Cascading Style Sheets). Jest to rewolucyjna idea, w zasadniczy sposób zwiększająca elastyczność narzędzi i możliwości autorów stron. Warto zauważyć, że style leżą także u podstaw dynamicznego HTML (z technicznego punktu widzenia jest to połączenie stylów z językami skryptowymi, np. JavaScript, a także Document Object Model). Style, zwłaszcza na najczęściej stosowanym poziomie CSS1, są niezbyt skomplikowane w konstrukcji, dając zarazem zaawansowane możliwości manipulowania postacią dokumentów, jakich brakowało w tradycyjnym języku HTML. Umiejętne stosowanie stylów pozwala całkowicie odmienić wygląd strony, nie szkodząc zarazem przeglądarkom, które stylów nie interpretują. Podkreślmy też wyraźnie, że CSS2 jest bardzo poważnym krokiem do przodu w stosunku do CSS1. Jest to naturalny etap rozwoju języka i jego pojawienie się było łatwe do przewidzenia dla osób interesujących się głębiej edytorami tekstów, w których style zajmują bardzo eksponowane miejsce. Styl, będący zespołem kodów formatujących (jednego czy kilku), pozwala obecnie globalnie lub lokalnie zmieniać sposób formatowania wybranego fragmentu dokumentu. Style są obecnie w znacznej mierze interpretowane przez przeglądarki Netscape Communicator 4.x i 6, Internet Explorer 4-6 oraz Opera 5 i 6. Wersja 3 programu Microsoftu interpretuje je szczątkowo i w pewnej mierze odmiennie od obowiązujących obecnie zasad. Na szczęście ta przestarzała wersja jest już "wymierająca", a jej udział w rynku nie przekracza paru procent. Zwracam uwagę na norweską Operę (www.opera.com), obecnie darmową, która zrobiła największy postęp i może się pochwalić wyprzedzeniem w paru miejscach swoich wielkich konkurentów. Program ten interpretuje poprawnie polskie znaki w wersji 6. Zwróćmy od razu uwagę na pewien istotny motyw powstania stylów. Język SGML, którego HTML jest pochodną, zajmuje się strukturą dokumentów i ich stroną semantyczną. Nie zajmuje się natomiast ich stroną wizualną, formatowaniem. HTML przekroczył tę barierę i z czysto praktycznych przyczyn od początku zaczął się rozszerzać o polecenia formatujące, dzięki którym dokumenty HTML są wizualnie dość różnorodne. Jednak ubocznym skutkiem tej sytuacji stał się "dziki wyścig" firm mających największy wpływ na rynku oprogramowania - Netscape i Microsoft, pewne swej silnej pozycji i roszcząc sobie prawo do swoistego ustawodawstwa zaczęły narzucać rozmaite rozszerzenia, interpretowane tylko przez ich przeglądarki, jak np. migotanie tekstu (NC) czy animacja Marquee (IE). Niektóre z tych rozszerzeń okazały się trafne i były sankcjonowane przez kolejne specyfikacje HTML, inne okazały się ślepym zaułkiem. Dobrym przykładem jest znacznik <font face>, który sterował czcionkami w dokumencie - w HTML 4 jest on określony jako przestarzały i odradza się jego stosowanie, zalecając przenoszenie informacji o czcionkach do stylów. 1

Arkusze stylów są próbą "powrotu do źródeł". Dzięki nim będzie można stopniowo rezygnować z formatowania bezpośrednio za pomocą HTML, przerzucając odpowiedzialność na style. W ten sposób HTML pozostanie w swej czystej, kanonicznej postaci i nie będzie już ryzyka niekontrolowanego rozbudowywania zestawu znaczników. Specyfikacja CSS2 jest narzędziem mocnym i wszechstronnym - problem jedynie w tym, aby ważniejsze przeglądarki poprawnie interpretowały wszystkie polecenia. Na marginesie uwaga: jest niemal pewne, że podstawowe sposoby formatowania na zawsze pozostaną w HTML, i to z paru powodów. Po pierwsze, należy się liczyć z faktem, że niektóre egzotyczne przeglądarki nie będą sobie mogły poradzić z interpretacją stylów, po drugie zaś, miliony dokumentów w WWW są formatowane za pomocą klasycznego HTML i konieczne by było ich przetworzenie, zgodnie ze specyfikacją stylów - raczej nie jest to możliwe, więc konieczność zgodności "w dół" spowoduje, że te zaszłości będą zawsze honorowane przez przeglądarki. Niniejszy opis powstaje na podstawie specyfikacji stylów poziomu pierwszego i drugiego (CSS1 i CSS2). Specyfikacja tego ostatniego została zaprezentowana w czerwcu 1998 roku przez World Wide Web Consortium. Organizacja skupia obecnie ok. 150 firm, wśród których znalazły się takie kompanie, jak Microsoft czy Netscape, deklarujące od pewnego czasu chęć respektowania ustaleń W3C, co jest szczególnie istotne, gdy przypomnimy sobie ich próby narzucania własnych rozwiązań. Za specyfikacje CSS odpowiada "czterech wspaniałych": Håkon Lie i Bert Bos (CSS1) oraz Håkon Lie, Bert Bos, Chris Lilley i Ian Jacobs (CSS2). Nie uwzględniamy specyfikacji CSS3, która ma na razie nieco utopijny charakter - nieco informacji na ten temat można znaleźć w artykule Marcina Wieczorka, w numerze 2'2000 Webmastera - http://www.pckurier.pl/webmaster/2000/luty/wieczorek/css3.html. Narzędzia Style można oczywiście konstruować ręcznie, gdyż jest to zwykły tekst. Jednak lepiej jest się posługiwać narzędziami wspomagającymi, które ułatwiają i przyspieszają ich tworzenie, zmniejszając zarazem ryzyko popełniania błędów składniowych - zachodzi tutaj pełna analogia z językiem HTML i edytorami. Programiści wprowadzają do edytorów HTML kreatory stylów (wizards), pozwalające w komfortowy sposób definiować wielkość i kolor czcionki, kolor odsyłaczy, tło czy marginesy tekstu. Warto podkreślić, że własne edytory stylów zawierają m.in. HomeSite i polskie Pajączek 2000 i Tiger98, zaś pierwszym programem, który zaimplementował CSS2 jest Balthisar Cascade - dedykowany edytor stylów. Balthisar Cascade zastygł w postaci 2.0 beta 9, choć autor od dawna zapowiada 3.0. Warto też wykorzystywać spotykane coraz częściej w edytorach HTML funkcje definiowania własnych znaczników (custom tags), gdzie można zdefiniować ciekawe style i doraźnie przywoływać je w trakcie formatowania dokumentu. W maju 1999 ukazał się najlepszy, jak dotąd, dedykowany edytor stylów. Jego autorem jest Nick Bradbury, znany doskonale jako autor HomeSite'a - Bradbury odszedł z firmy Allaire i założył Bradbury Software, tworząc od razu program TopStyle Editor - jego wersję testową można pobrać ze strony http://www.bradsoft.com. Opis wersji beta 1 można znaleźć w Narzędziach internetowych, w witrynie PCkuriera, natomiast bardzo obszerny opis wersji 1.5 jest zawarty w - artykule Andrzeja Turosa w Webmasterze 2'2000. W chwili obecnej dostępne są wersje 2.0 komercyjnego TopStyle Pro i darmowego TopStyle Lite. TopStyle Editor współpracuje też bezpośrednio z HomeSite'em, zastępując jego wbudowany edytor stylów. 2

W serwisach shareware'owych, np. TUCOWS, można znaleźć kilka innych programów, m.in. darmowy EasyStyle. Budowa stylu Pokażmy od razu przykład stylu, obejmującego wybrany fragment tekstu. Jest to jeden z dwóch sposobów wstawiania stylu in-line. <P STYLE="font-size: 20pt; font-weight: bold; background: yellow; color: red">style to doskonałe narzędzie dla autora witryny</p>. Style to doskonałe narzędzie dla autora witryny. Ogólne polecenie stylu ma postać selektor { cecha: wartość } (w jęz. angielskim selector { property: value }). Selektorem jest po prostu polecenie języka, np. P, LI, TD, BODY itd. Cechą jest pewna własność danego znacznika, np. wielkość i styl czcionki dla akapitu. Wartość konkretyzuje cechę, np. 12pt czy bold dla czcionki. Zawartość nawiasów klamrowych, czyli cechę i wartość, określamy także mianem deklaracji stylu. Przykłady: P {font-family: Times} Selektorem jest P, cechą - rodzina czcionek, wartością - Times. To jest czcionka Times H1 {font-size: 30pt} Selektorem jest H1, cechą - wielkość czcionki, wartością - 30 punktów. To jest 30-punktowy tytuł stopnia pierwszego UL {font-weight: bold} Selektorem jest UL, cechą - waga czcionki, wartością - pogrubienie. punkt pierwszy wykazu punkt drugi wykazu punkt trzeci wykazu 3

H2 {color: #FF0000} Selektorem jest H2, cechą - kolor, wartością - kolor czerwony. Czerwony tytuł stopnia drugiego Możemy oczywiście łączyć ze sobą różne cechy i wartości, zgodnie ze schematem: Selektor { cecha1: wartość1; cecha2: wartość2 } Proszę zwrócić uwagę na średnik rozdzielający pary cech-wartości. H3 {font-variant: small-caps; font-size: 15pt; color: yellow; font-family: Courier} TYTUŁ STOPNIA TRZECIEGO, 15-PUNKTOWY, ŻÓŁTY, KAPITALIKI Wprowadzenie Selektory, o których powiedzieliśmy wstępnie w rozdziale Budowa stylu, należą do kluczowych pojęć Cascading Style Sheets. To one właśnie wskazują obiekty, którym przypisujemy jakiś zestaw własności. Selektorem może być dowolny element języka HTML. Przykładem jest choćby element P, który w języku HTML, jak wiadomo, oznacza akapit, albo UL, czyli wykaz nieuporządkowany. Jest to tzw. selektor prosty. Ogólna konstrukcja stylu ma następującą postać: selektor { cecha: wartość } W języku angielskim: selector { property: value } Widać z tego, że selektor pełni tutaj zasadniczą rolę określając, jakiemu elementowi przypiszemy pewne własności. Gdybyśmy chcieli przypisać akapitowi czcionkę Helvetica o rozmiarze 12pt, powinniśmy to zdefiniować następująco: P { font-family: Helvetica; font-size: 12pt} Podobnie, gdyby wykaz nieuporządkowany miał być przedstawiony za pomocą czcionki pogrubionej, koloru czerwonego, definicja powinna wyglądać następująco: UL { font-weight: bold; color: #FF0000 } Pojęcie selektora jest więc proste i zrozumienie jego znaczenia nie powinno przysparzać żadnych trudności. Grupowanie selektorów Te same wartości stylu możemy nadać jednocześnie kilku selektorom, wyliczając ich listę przed deklaracją własności i wartości. Na przykład, chcąc przypisać taką samą czcionkę i kolor tytułom stopnia pierwszego, drugiego i trzeciego, zamiast definiować każdy tytuł z osobna, możemy napisać: H1, H2, H3 {font-family:helvetica; color:blue} 4

Zwróćmy uwagę na przecinki rozdzielające selektory. Selektory elementów [ aktualizacja 21.12.2000 ] Kilka ważnych pojęć: Drzewo dokumentu (document tree) - hierarchiczny układ elementów HTML zakodowanych w dokumencie; każdy element ma dokładnie jednego rodzica, oprócz elementu najwyższego w hierarchii. Dziecko (child) - element będący o jeden szczebel niżej w drzewie w stosunku do danego elementu. Potomek (descendant) - element będący o jeden lub więcej szczebli niżej w drzewie w stosunku do danego elementu. Rodzic (parent) - element o jeden szczebel wyżej w drzewie w stosunku do danego elementu. Przodek (ancestor) - element będący o jeden lub więcej szczebli wyżej w drzewie w stosunku do danego elementu. Brat (sibling) - element mający tego samego rodzica co inny element; jeśli znajduje się obok niego, to jest to brat przylegający (adjacent sibling). Przykładowe drzewo: Źródło: Cascading Style Sheets, level 2 - CSS2 Specification a. Selektor prosty Selektor ten został opisany na początku rozdziału. b. Selektor uniwersalny Wartości ogólne (uniwersalne) można przypisywać dokumentowi na najwyższym poziomie, czyli w BODY, ale można także stosować tzw. selektory uniwersalne, oznaczane gwiazdką. Selektor o postaci: * {color:#ff0000; font-weight:bold} spowoduje, że cały tekst (w akapitach, wykazach, tabelach itd.) będzie wyświetlany jako pogrubiony i w czerwonym kolorze. Z kolei selektor *.klasa1 {font-family:verdana} spowoduje, że wszystkie elementy opatrzone klasą o nazwie klasa1 będą wyświetlane za pomocą czcionki Verdana. akapit z klasą "klasa1" - czcionka Verdana 15 pt Interpretacja: Internet Explorer, Netscape 6, Opera 5. 5

c. Selektor potomka (descendant selector) Selektor potomka (w CSS1 jest to selektor kontekstowy) pozwala nadawać styl tym elementom, które mają określonych przodków. Na przykład: H1 I {color:red} Oznacza to, że jeśli fragment tytułu stopnia pierwszego będzie przedstawiony za pomocą czcionki pochylonej, to automatycznie zyska on także czerwony kolor, np. To jest tytuł pierwszego stopnia Podobnie, definicja UL UL LI {color:green} spowoduje, że elementy wykazu na drugim poziomie zagnieżdżenia będą przedstawione w zielonym kolorze, podczas gdy elementy wykazu pierwszego poziomu będą miały domyślny kolor, np. punkt 1 punkt 2 o punkt 2.1 o punkt 2.2 punkt 3 Interpretacja: Internet Explorer, Netscape 6, Opera 5. Zauważmy, że w definicji selektora potomka poszczególne elementy są rozdzielone spacjami. Spacja jest tzw. kombinatorem - w CSS2 rozróżniamy trzy rodzaje kombinatorów: spacja, znak + i znak >. Spacje wokół znaków + i > są opcjonalne. d. Selektor dziecka (child selector) Element jest dzieckiem w stosunku do innego elementu, jeśli jest w nim zawarty i jest o jeden szczebel niżej w hierarchii. Na przykład, w <h1> <h3> </h3> </h1>, H3 jest dzieckiem H1, ale wszystko w ramach H3 jest już dzieckiem wobec H3, a nie H1 (chociaż jest zarazem potomkiem H1). Jeśli chcemy, aby wszystkie H3, które są dziećmi H1, były czerwone, użyjemy polecenia: H1 > H3 { color : red } Inny przykład: p > u { color : white } to jest białe podkreślenie w ramach akapitu Podkreślenie poza znacznikami akapitu nie jest już białe. Interpretacja: Netscape 6, Opera 5. Ilustracja dla użytkowników IE: e. Selektor braci (adjacent sibling selector) 6

Selektor pozwala nadawać określone formatowanie jednemu z bezpośrednio sąsiadujących ze sobą elementów, mających tego samego rodzica. Jeśli np. mamy fragment pogrubiony i fragment pochylony w ramach akapitu, zaś kod stylu ma postać: B + I {color:green} fragment pochylony uzyska odpowiednie formatowanie. Zauważmy, że stosujemy tutaj kombinator w postaci znaku +. Akapit, w tym pogrubienie oraz sąsiadujące pochylenie i reszta akapitu Inny przykład: H1 + H2 { margin-left: +15mm } Tytuł stopnia pierwszego Nieco przesunięty tytuł stopnia drugiego Polecenie realizują Netscape 6 i Opera 5. Ilustracja dla użytkowników IE: Selektory atrybutów [ aktualizacja 21.12.2000 ] Selektory zostały rozszerzone na atrybuty elementów. Jak pamiętamy, elementy mogą przybierać określone atrybuty, na przykład akapit może być wyrównany do prawego marginesu (align=right). Można to wykorzystać do nadawania pewnych wartości: jeśli akapit jest wyrównany do prawej, to jest wyświetlany na czerwono. Ogólna postać selektora atrybutów jest następująca: element[atrybut relacja wartość] {deklaracja stylu} Przykładowo: P[align=right] {color: red} akapit justowany do prawej strony, w kolorze czerwonym. Interpretacja: Netscape 6, Opera 7. Ilustracja dla użytkowników IE i Opery. 7

Relacja może być przedstawiona czterema sposobami, co odpowiada czterem typom selektora atrybutów. Jedną z relacji jest zastosowany tu znak =. a. Prosty selektor atrybutu Element[atrybut] {deklaracja stylu} lub [atrybut] {deklaracja stylu} Na przykład: H1[title] {font-family: Verdana; color: yellow} Każdy tytuł stopnia pierwszego, w którym znajdzie się atrybut title, będzie wyświetlany za pomocą czcionki Verdana w kolorze żółtym. Tytuł stopnia pierwszego z atrybutem Title Interpretacja: Netscape 6, Opera 5. Ilustracja dla użytkowników IE. [title] {font-family: Helvetica} Każdy element z atrybutem title (o dowolnej jego wartości) będzie wyświetlany za pomocą czcionki Helvetica. akapit z title, na niebiesko. Interpretacja: Netscape 6, Opera 7. b. Selektor atrybutu o określonej wartości Element[atrybut="wartość"] {deklaracja stylu} lub [atrybut="wartość"] {deklaracja stylu} Na przykład: H1[title="rozdział"] {font-family: Times} Każdy tytuł stopnia pierwszego, w którym znajdzie się atrybut title="rozdział", będzie wyświetlany za pomocą czcionki Times. [title="ważne"] {font-weight: bold} Każdy element z atrybutem title="ważne" będzie wyświetlany za pomocą czcionki pogrubionej. To jest bardzo ważny akapit 8

Interpretacja: Netscape 6, Opera 7. Jak łatwo zauważyć, selektor atrybutu o określonej wartości różni się od prostego selektora atrybutu konkretną wartością atrybutu. Selektor atrybutu o określonej wartości ma jeszcze dwie odmiany, które można przedstawić następująco: [atrybut~=wartość] [atrybut =wartość] W pierwszej odmianie ciąg znaków podany jako wartość może być fragmentem wartości atrybutu konkretnego elementu. Przykładowo: H1[title~="rozdział"] {font-family: Times} Tytuł stopnia pierwszego Interpretacja: Netscape 6, Opera 5. Taka postać stylu będzie się odnosić do wszystkich tytułów stopnia pierwszego, w których atrybut title będzie zawierać wyraz rozdział, np. title="rozdział pierwszy", title="rozdział drugi" itd. Zwróćmy uwagę, że wyrazy w title są rozdzielone spacjami. Druga odmiana została przewidziana do obsługi wartości zawierających dywizy (łączniki). Podanie definicji *[title ="bleble"] {color: green} A paragraph in UK-English spowoduje objęcie nią wszystkich elementów, które mają atrybut title zawierający bleble-a, bleble-b itd. Jest to wykorzystywane np. w obsłudze języków, których kody są rozróżniane, choć początek jest taki sam: en-us, en-uk. Interpretacja: Netscape 6, Opera 5. Ilustracja dla użytkowników IE: Specjalne selektory HTML [ aktualizacja 22.12.2000 ] a. Klasy selektorów W powyższych przykładach posłużyliśmy się prostym selektorem w postaci elementu HTML. Język CSS przewiduje jednak tworzenie tzw. klas, które pozwalają zróżnicować ten sam element zależnie od pojawiających się okoliczności. Bardzo dobrym przykładem jest tutaj ponownie element P. Jest oczywiste, że w większym dokumencie, składającym się z wielu akapitów, nie wszystkie akapity muszą mieć taki sam wygląd, np. czcionka Times, o rozmiarze 12 punktów, w kolorze czarnym. Może się przecież zdarzyć, że niektóre akapity będziemy chcieli wyróżnić pogrubieniem, inne zaznaczyć odmiennym kolorem, a jeszcze inne - mniejszą czcionką. Te "nietypowe" akapity możemy łatwo zdefiniować za pomocą klas i tylko w odpowiednim miejscu przywoływać stosowne definicje, podczas gdy gros tekstu będzie wyświetlane za pomocą podstawowego formatowania przewidzianego dla akapitu. Na przykład, definicja stylów akapitów w części nagłówkowej dokumentu może mieć taką postać: P {font-family: Helvetica; font-size: 10pt} P.uwagi {font-family: Helvetica; font-size: 10pt; font-weight: bold} P.istotne {font-family: Times; font-size: 10pt; color: red} P.przypisy {font-family: Helvetica; font-size: 8pt} Natomiast w samym tekście będziemy przywoływać klasy za pomocą polecenia 9

<p class=konkretna_klasa>akapit</p> To jest akapit pisany za pomocą normalnej czcionki. Została w nim użyta czcionka Helvetica o wielkości 10 punktów. Klasę tę możemy wykorzystać przy zapisywaniu "normalnego" tekstu, nie mającego jakichś specjalnych wyróżnień. W jakimś miejscu możemy umieścić przypisy. Zapisujemy je za pomocą zdefiniowanej czcionki Helvetica o wysokości 8 punktów. Gdy zajdzie konieczność podania uwag, możemy wykorzystać klasę P.uwagi, która wyróżnia się dodatkowym pogrubieniem tekstu. Istotne fragmenty tekstu możemy w jakiś sposób wyróżnić. Tutaj korzystamy z definicji klasy P.istotne, która posługuje się czcionką Times i kolorem czerwonym. Interpretacja: Internet Explorer, Netscape 6, Opera 5. b. Selektor ID Selektor ID (identyfikatora) został pomyślany jako narzędzie do wskazywania elementu mającego jednoznaczny atrybut ID, a więc występującego raz jeden w drzewie dokumentu. Identyfikator jest budowany z liter od a do z, cyfr, łączników i kropek, przy czym na początku musi się znajdować litera. #[etykieta ID] {deklaracja stylu} Przykład: H1#chapter {letter-spacing: 0.5em} Podając kod <h1 id="chapter">chapter</h1>, uzyskamy C h a p t e r Interpretacja: Internet Explorer, Netscape 6, Opera 5. Selektory pseudoklas [ aktualizacja 22.12.2000 ] a. Pseudoklasy odsyłaczowe CSS2 wyróżnia specjalne selektory dla odsyłaczy, zależnie od ich bieżącego statusu. Selektor a:link pozwala nadać formatowanie odsyłaczowi na stronie, na przykład: a:link {color:yellow; background: blue} To jest odsyłacz do firmy Interpretacja: Internet Explorer, Netscape 6, Opera 5. Selektor a:visited nadaje formatowanie odsyłaczowi już odwiedzonemu, na przykład: a:visited {color:green} To jest odsyłacz do PCkuriera - jeśli byłeś już na stronie PCkuriera, odsyłacz będzie zielony. Interpretacja: Internet Explorer, Opera 5. 10

b. Pseudoklasa :hover Selektor nadaje styl elementowi, gdy urządzenie wskazujące, np. myszka, znajduje się nad elementem, ale nie aktywizuje go. Jest to szczególnie często wykorzystywane do zmiany wyglądu odsyłacza, co ułatwia czytelnikowi śledzenie, nad jakim odsyłaczem znajduje się w danym momencie kursor myszki. Przykład: A:hover {background:blue; color:red} To jest odsyłacz do serwisu About.com. Gdy nasuniesz kursor myszki nad odsyłacz, zmieni się jego wygląd. Spowoduje to, że odsyłacz mający domyślnie np. niebieski kolor na białym tle, po nasunięciu kursora zostanie wyświetlony jako biały na niebieskim tle. Interpretacja: Internet Explorer, Netscape 6, Opera 5. c. Pseudoklasa :active Selektor :active formatuje we wskazany sposób aktywny w danym momencie element, np. kliknięty odsyłacz. A:active {background:olive; color:black} To jest odsyłacz do serwisu World Wide Web Consortium. Gdy klikniesz na odsyłaczu, zmieni się jego wygląd (czarny odsyłacz na oliwkowym tle). Interpretacja: Internet Explorer, Netscape 6, Opera 5. Powyższe cztery pseudoklasy powinny być umieszczane w nagłówku w podanej kolejności: link, visited, hover, active. d. Pseudoelement :focus Selektor :focus formatuje w wybrany sposób element, który przyjmuje w danym momencie zogniskowanie, np. kursor na danym odsyłaczu (po wybraniu go za pomocą klawisza tabulatora) czy pole formularza, w którym znalazł się kursor. a:focus {color:blue; background:red} To jest odsyłacz do miesięcznika Enter :focus {color:white; background:black} Kliknij tutaj lub przenieś kursor pomocą klawiszy tabulatora Interpretacja: Netscape 6, Opera 7. Ilustracja dla użytkowników IE 11

e. Pseudoklasa :lang Selektor :lang pozwala formatować elementy, które mają podany atrybut języka, np.: p:lang(en) {font-weight:bold} to jest akapit z atrybutem lang=en i powinien być pogrubiony Żadna przeglądarka nie obsługuje tego selektora. f. Pseudoklasa :first-child Pierwszym dzieckiem elementu jest pierwszy zawarty w nim element niższego szczebla. Na przykład, pierwszym dzieckiem akapitu może być pierwszy znacznik pogrubienia. p:first-child {color:red} to jest akapit, a to jest pogrubienie i dalszy ciąg akapitu Z kolei selektor p:first-child EM {color:red} jest zawężony, gdyż wyróżnia formatowaniem jedynie elementy EM, które są pierwszym dzieckiem jakiegoś akapitu. to jest akapit, a to jest emfaza i dalszy ciąg akapitu Żadna przeglądarka nie akceptuje tego selektora. Selektory pseudoelementów [ aktualizacja 23.12.2000 ] a. Pseudoelement first-line Selektor pozwala nadać odrębne formatowanie pierwszemu wierszowi bloku, np. akapitu. Przykład: P:first-line {text-transform: uppercase} To jest akapit, w którym pierwszy wiersz będzie zamieniony na wersaliki. To jest akapit, w którym pierwszy wiersz będzie zamieniony na wersaliki. Proszę zauważyć, że zawartość pierwszego wiersza zmienia się przy zmianie wielkości ramki. Interpretacja: Internet Explorer 5.5, Netscape 6, Opera 5. W deklaracji stylu dla :first-line można stosować następujące własności: font properties, color properties, background properties, 'wordspacing', 'letter-spacing', 'text-decoration', 'vertical-align', 'text-transform', 'line-height', 'text-shadow', 'clear'. To jest akapit, w którym pierwszy wiersz będzie pogrubiony i pochylony. To jest akapit, w którym pierwszy wiersz będzie pogrubiony i pochylony. To jest akapit, w którym pierwszy wiersz będzie pogrubiony i pochylony. Proszę zauważyć, że zawartość pierwszego wiersza zmienia się przy zmianie wielkości ramki. b. Pseudoelement first-letter Selektor :first-letter teoretycznie powinien powodować nadanie odrębnego formatowania pierwszej literze danego bloku, np. akapitu. Został on pomyślany przede wszystkim jako wygodne narzędzie o charakterze typograficznym, pozwalające zbliżyć wygląd strony WWW do tradycyjnych rozwiązań spotykanych w publikacjach papierowych, np. rozciągnięcie pierwszej litery na kilka kolejnych wierszy tekstu. Technika ta (drop-cap) jest znana choćby z popularnych edytorów tekstów. 12

Przykład: P:first-letter { font-size: 200%; float: left } Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. Interpretacja: Internet Explorer 5.5, Netscape 6, Opera 5. W deklaracji stylu dla :first-letter można stosować następujące własności: font properties, color properties, background properties, 'textdecoration', 'vertical-align', 'text-transform', 'line-height', margin properties, padding properties, border properties, 'float', 'text-shadow', and 'clear'. Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. Pierwsza litera w tym akapicie jest różna od pozostałych. c. Pseudoelement :before i :after Selektor ten pozwala automatycznie generować określoną treść przed i/lub po określonym elemencie. Na przykład, polecenie p:before {content : "Początek akapitu: "} p:after {content : " :Koniec akapitu"} spowoduje automatyczne wstawienie ciągów (bez cudzysłowów) "Początek akapitu: " i " :Koniec akapitu" przed i po każdym akapicie. Polecenie p.uwaga:before {content : "Uwaga: "} opatrzy każdy akapit o klasie class=uwaga dodatkową inwokacją "Uwaga: ". Tu powinien się pojawić wyraz "uwaga" na początku zdania. Jako content mogą występować nie tylko zwykłe ciągi znaków (string), ale i adresy internetowe (address), liczniki (counter), apostrofy i cudzysłowy (quotes). Tu powinien się pojawić wyraz "koniec" na końcu zdania. Interpretacja: Netscape 6, Opera 5. Ilustracja dla użytkowników IE. 13

Dodatkowe efekty formatujące można uzyskać, dodając po prostu odpowiedni kod:.uwaga:before {content : "Uwaga: "; font-weight: bold}.koniec:after {content : " :Koniec"; color: red} Selektor ten jest bardzo ważny ze względu na współudział w generowaniu zawartości liczników. Podsumowanie Jak widać z powyższego przeglądu, zakres selektorów w CSS2 został znacznie zwiększony w stosunku do poprzedniej specyfikacji stylów, ale ich interpretacja ciągle pozostawia sporo do życzenia - oficjalna specyfikacja ciągle wyprzedza jej implementację w przeglądarkach i w zasadzie można stwierdzić, że nieźle są interpretowane selektory zaprezentowane w CSS1 i w jakimś stopniu w CSS2. Webmasterzy na razie muszą stosować selektory z niezbędną ostrożnością i sprawdzać ich działanie w czołowych przeglądarkach. Kaskadowość i dziedziczenie W Cascading Style Sheets istnieją dwa istotne pojęcia, o których należy pamiętać przy konstruowaniu stylów - dziedziczenie stylów i ich kaskadowy charakter. Dziedziczenie polega na tym, że elementy niższe w hierarchii drzewa dokumentu (pojęcie drzewa jest wyjaśnione w rozdziale Selektory) dziedziczą formatowanie elementów leżących wyżej w hierarchii, chyba że wyraźnie nadamy im inne formatowanie. Przykładowo, jeśli ustalimy, że tekst w jakiejś tabeli ma być przedstawiony za pomocą pogrubionej czcionki Helvetica, to wszystkie komórki tabeli będą w ten sposób formatowane, gdyż komórka <TD> leży niżej w hierarchii (drzewie dokumentu) niż tabela <TABLE>. Jeśli natomiast nadamy odrębne formatowanie wybranej komórce (utworzymy wyjątek), to oczywiście wygląd czcionki w tej komórce zmieni się, gdyż bezpośrednie zdefiniowanie czcionki w wybranym miejscu ma pierwszeństwo przed ogólniejszym formatowaniem tabeli (na wyższym szczeblu). Taka jest właśnie ogólna zasada - jeśli wyraźnie nie zdefiniujemy formatowania dla jakiegoś elementu, dziedziczy on własności po swoich "przodkach", czyli elementach wyższych w hierarchii. Niestety, zdarzają się odstępstwa interpretacyjne od tej zasady - przykładowo, zdefiniowanie czcionki w BODY (a więc na szczycie hierarchii) nie wpływa na postać czcionki w komórkach tabeli, jeśli stronę oglądamy w Netscape Communicatorze. Należy się liczyć z tego typu uchybieniami i sprawdzać wygląd strony przynajmniej w dwóch przeglądarkach. No i czekać na pełną implementację CSS2. Zasada dziedziczenia stylów jest bardzo wygodna, gdyż oszczędza autorowi strony czaso- i pracochłonnego wprowadzania mnóstwa informacji dla każdego elementu z osobna. Możemy na przykład ustalić pewne ogólne cechy dla całej strony, a dodać nieco konkretyzującej informacji dla niższych w hierarchii akapitów czy wykazów - połączą one wtedy w sobie "dziedziczoną" informację z wyższego szczebla i konkretyzującą informację ich samych. Dziedziczenie jest zresztą bardzo intuicyjnym i łatwo zrozumiałym pojęciem, jeśli ma się w sobie nieco kultury logicznej. Kaskadowość, od której wzięły nazwę style, polega z kolei na ustaleniu hierarchii źródeł stylów. Jak Czytelnik będzie się mógł przekonać w rozdziałach o wstawianiu stylów, style mogą być wprowadzane w nagłówku strony (HEAD), bezpośrednio w ciele dokumentu, mogą też pochodzić z zewnętrznych źródeł, np. arkuszy wzorcowych. Konieczne jest więc ustalenie hierarchii ważności w przypadku konfliktu stylów. Może się bowiem zdarzyć, że zewnętrzny arkusz definiuje akapit za pomocą czcionki Times 12pt, w nagłówku strony akapit jest reprezentowany przez czcionkę Helvetica 11pt, a w samym dokumencie pojawia się akapit zdefiniowany za pomocą czcionki Times 11pt. Problem więc w tym, która definicja ma pierwszeństwo i jaka jest ich hierarchia. Przyjęto, że oddziaływanie stylów z arkuszy zewnętrznych może być modyfikowane przez style zdefiniowane w nagłówku dokumentu, to zaś może być modyfikowane przez style zdefiniowane bezpośrednio w ciele dokumentu. Pierwszeństwo mają zatem style zdefiniowane "bliżej" konkretnego elementu. Przeglądarka sprawdza więc najpierw, czy istnieją jakieś arkusze zewnętrzne i stosownie do ich definicji formatuje stronę. Następnie sprawdza, jakie są definicje stylów w nagłówku strony i modyfikuje wygląd zgodnie z ich ustaleniami. Następnie sprawdza style w samym dokumencie i ponownie modyfikuje fizyczną postać strony. To oczywiście model działania, ale pokazuje on, jak działa taka kaskada stylów. Między stylami z różnych źródeł nie muszą zresztą wcale występować żadne konflikty - wszystkie style uzupełnią się, tworząc jeden wielki, "wirtualny" styl. Ta zasada pozwala też, co szczególnie ważne, wygodnie manipulować postacią całych kompleksów stron. Można na przykład ustalić pewne ogólne cechy całej witryny firmy i zawrzeć je w zewnętrznym arkuszu stylów. Następnie można zbudować odrębne arkusze dla wydziałów firmy i zawrzeć w nich bardziej konkretyzującą informację. Po ustaleniu hierarchii arkuszy można łatwo definiować style dla dziesiątek i setek stron, a jedna drobna zmiana w arkuszu powoduje zmiany we wszystkich objętych nimi dokumentach. Jak z tego widać, kaskadowość i dziedziczenie uzupełniają się, tworząc zwarty system ogólnych zasad sterujących działaniem stylów. Kaskadowość ustala hierarchię różnych źródeł stylów, a dziedziczenie wpływa na wygląd strony z punktu widzenia hierarchii elementów w danym dokumencie (drzewie dokumentu). Wstawianie stylów Style mogą być umieszczane w dokumencie na kilka sposobów: 14

Kody formatujące są umieszczane w środku tekstu (styl lokalny, in-line style) i dotyczą wybranego znacznika dokumentu. Kody formatujące są umieszczane w środku tekstu, obejmują większy fragment dokumentu i nie są związane z wybranymi znacznikami (rozciąganie stylu i wydzielone bloki). Kody formatujące są umieszczane na początku strony, w nagłówku HEAD, i oddziałują na cały dokument (zagnieżdżanie stylu). Kody formatujące są umieszczane na wzorcowych stronach (lokalnie lub na na serwerze), a w dokumentach wstawiamy odpowiednie odwołania do tych stron, co powoduje automatyczne zmiany sposobu formatowania. Są to odwołania do tzw. stylów zewnętrznych. Kody formatujące są importowane z innej strony za pomocą polecenia @import. Styl lokalny (in-line) Styl lokalny pozwala nadawać atrybuty wybranym, pojedynczym elementom strony. Typowym zastosowaniem jest nadanie określonych atrybutów akapitowi. <p style="definicja stylu">treść akapitu</p> Na przykład: <p style="font-size: 12pt; font-weight: bold; font-family: 'Andale mono', 'Courier New', monospace">treść akapitu</p> To jest akapit wyświetlany za pomocą czcionki Andale mono, Courier New lub innej monotypicznej, pogrubionej, o wielkości 12 punktów. <h1 style="font-size: 25pt; font-weight: bold; font-family: Arial, sans-serif">treść tytułu</h1> Tytuł stopnia 1, Arial, pogrubiony, 25 punktów <ul style="font: italic bold 14pt Times; color: red"> <li>pierwszy punkt <li>drugi punkt <li>trzeci punkt </ul> pierwszy punkt drugi punkt trzeci punkt <p style="text-transform: capitalize">to jest akapit, w którym pierwsze litery wyrazów są wyświetlane za pomocą kapitalików.</p> to jest akapit, w którym pierwsze litery wyrazów są wyświetlane za pomocą kapitalików. (tylko IE) Pozioma linia z kilkoma atrybutami (tylko IE4 i 5) 15

<hr style="height: 3mm; width: 200pt; color: lime"> Wykaz numerowany <ul style="list-style: lower-roman inside"> <li>pierwszy punkt <li>drugi punkt <li>trzeci punkt </ul> i. pierwszy punkt ii. drugi punkt iii. trzeci punkt Rozciąganie stylu Rozciąganie stylu polega na objęciu stylem pewnego bloku w dokumencie HTML. Posługujemy się tutaj poleceniem <SPAN> </SPAN>. Na przykład: <span style="font-family: Courier; font-size: 15pt; font-weight: bold; color: red">to jest akapit objęty poleceniem SPAN</span> To jest akapit objęty poleceniem SPAN Poleceniem SPAN możemy obejmować łącznie także niejednorodne elementy, np. akapit i wykaz. <span style="font-family: Courier; font-size: 15pt; font-weight: bold; color: red"> <p>to jest akapit objęty poleceniem SPAN</p> <ul> <li>pierwszy punkt wykazu <li>drugi punkt wykazu <li>trzeci punkt wykazu </ul> </span> To jest akapit objęty poleceniem SPAN pierwszy punkt wykazu drugi punkt wykazu trzeci punkt wykazu W polecenu SPAN możemy wykorzystać także klasy, jeśli są zdefiniowane w nagłówku dokumentu (arkusz zagnieżdżony) czy jakimś zewnętrznym arkuszu. Gdybyśmy wstawili w nagłówku dokumentu, w definicji stylów, polecenie (bez polskich znaków, gdyż Navigator wykazuje tutaj błąd).bardzowazne {font-family: Helvetica; font-size: 14pt; font-weight: bold; color: lime} możemy je wykorzystać w definicji SPAN. Na przykład: <span class=bardzowazne>to jest fragment dokumentu, formatowany zgodnie z definicją klasy BardzoWazne.</span> 16

To jest fragment dokumentu, formatowany zgodnie z definicją klasy BardzoWażne. Inny przykład, w którym kilka pierwszych wyrazów akapitu jest wyświetlanych za pomocą małych kapitalików. Korzystamy tutaj z definicji:.pierwszewyrazy {font-variant: small-caps} którą obejmujemy pierwsze trzy wyrazy - <span class=pierwszewyrazy>. TO JEST AKAPIT, w którym trzy pierwsze wyrazy są wyświetlane za pomocą małych kapitalików. Wydzielone bloki Style możemy nadawać elementom dokumentu, posługując się bardzo elastycznym poleceniem bloku. Na sposób ten warto zwrócić szczególną uwagę, gdyż jest wygodny, a doświadczenia z dynamicznym HTML, wprowadzanym intensywnie od momentu pojawienia się Internet Explorera 4, wskazują, że jest to jedno z podstawowych narzędzi (dynamiczny HTML jest jednym z kluczowych elementów kanałów informacyjnych). Bloki wydzielamy za pomocą polecenia <DIV> </DIV>. Fragment dokumentu objęty blokiem możemy w swobodny sposób formatować za pomocą stylów. Możemy sobie wyobrazić, że w części nagłówkowej dokumentu znajdą się klasy tytułów czy akapitów, natomiast w bloku utworzonym doraźnie w dokumencie zdefiniujemy czcionki, barwy itp., a także powołamy się na klasy z nagłówka. Przykład bloku ze stylami zdefniowanymi bezpośrednio w bloku: <DIV style=""font-family: verdana, arial; color: olive; position: relative; left: 300; width: 550"> Fragment dokumentu objęty blokiem (tytuł, akapit i wykaz) </DIV> Tytuł stopnia pierwszego Jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit jakiś tam akapit. punkt wykazu punkt wykazu punkt wykazu Przykład bloku ze stylami zdefiniowanymi w części nagłówkowej dokumentu: Zakładamy, że w nagłówku (albo w arkuszu dołączanym lub importowanym) utworzyliśmy klasę o nazwie notatka..notatka {font-family: verdana, arial; font-weight: bold; color: blue; margin-left: 10%; margin-right: 10%} A teraz skorzystamy z tego stylu, wydzielając jakiś fragment dokumentu blokiem i przypisując mu klasę notatka: <div class=notatka> fragment dokumentu objęty blokiem </div> Tytuł notatki Treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki treść notatki Wydzielane bloki są podobne w działaniu do SPAN, ale obejmują szersze fragmenty dokumentu. Mogą zawierać w sobie tytuły, akapity, wykazy, a nawet inne bloki. Dzięki temu nadają się do wydzielania większych, logicznych fragmentów dokumentów i nadawania im specyficznego formatowania za pomocą stylów. 17

Zagnieżdżanie arkusza stylów Bardzo często spotykanym sposobem definiowania stylów na stronie jest zagnieżdżanie definicji w nagłówkowej części dokumentu. W tym celu wystarczy wpisać odpowiedni blok informacji między poleceniami <HEAD> i </HEAD>. Przykładowo, niniejsza strona zawiera krótki zestaw stylów, zdefiniowany następująco w części nagłówkowej (w kolorze niebieskim): <head> <STYLE TYPE="text/css"> <!-- BODY {margin-left: 1cm; margin-right: 1cm} P {font-size: 10pt; font-family: Arial, Helvetica; font-weight: normal} --> </STYLE> </head> Zdefiniowano w nim 1-centymetrowe marginesy strony oraz 10-punktową czcionkę Arial (oraz inne czcionki "rezerwowe") dla akapitów. Proszę zwrócić uwagę na wiersz <!-- i -->, czyli znaki komentarza obejmujące definicję. "Chowają" one definicję przed przeglądarkami nie interpretującymi stylów, co zapobiega niepotrzebnemu wyświetleniu treści definicji stylów w tych przeglądarkach. Style definiujemy w "klasyczny" sposób, za pomocą zestawu Selektor { cecha: wartość}. Na przykład P {font-family: Helvetica} czy UL {font-size: 10pt; font-family: Times}. Zagnieżdżanie arkusza zaleca się w przypadku tych stron, w których stosuje się unikatowe style. Gdy kilka stron jest formatowanych za pomocą tego samego zestawu stylów, lepiej jest oczywiście stosować dołączanie wspólnego, zewnętrznego arkusza stylów (opisujemy to tutaj), co skraca czas przygotowania i zmniejsza wielkość plików. Dołączanie do zewnętrznego arkusza stylów [ aktualizacja 20.12.2000 ] Każdą stronę można dołączyć do zewnętrznego arkusza stylów, w którym są zdefiniowane własności różnych elementów - interpretują to polecenie Internet Explorer 4 i 5, Netscape 6 i Opera 5. Na przykład, strony opisujące oprogramowanie internetowe w Narzędziach internetowych (w serwisie Wydawnictwa Lupus) są dołączane do zewnętrznego arkusza o nazwie toolstyl.css (rozszerzenie.css), umieszczonego na serwerze. Arkusz został zapisany następująco: <HTML> <STYLE TYPE="text/css"> <!-- BODY {text-align: justify; margin-left: 1cm; margin-right: 1cm; margin-top: 1cm} P {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal; text-indent: 3 em} A {text-decoration: none; color: blue} H1 {font-size: 24pt} H2 {font-size: 20pt} H3 {font-size: 16pt} H1, H2, H3 {font-family: "Arial CE", Arial, Helvetica; font-weight: bold; color: #808000} TD {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal} LI {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal} --> </STYLE> </HTML> Przykładowo, artykuł opisujący edytor Pajączek zawiera następującą część nagłówkową: <head> <title>pajączek 2.0</title> 18

<meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <meta http-equiv="author" content="paweł Wimmer"> <meta http-equiv="authoring tool" content="homesite"> <meta http-equiv="distribution" content="global"> <meta http-equiv="resource-type" content="document"> <LINK REL=stylesheet HREF="../style/toolstyl.css" TYPE="text/css"> </head> Proszę zwrócić uwagę na wiersz (niebieski) zawierający odniesienie do arkusza. Jest on umieszczany w ramach części nagłówkowej (HEAD) i ma ściśle określoną składnię. HREF wskazuje ścieżkę do katalogu, w którym jest umieszczony arkusz. Może on być, oczywiście, ulokowany w tym samym folderze, co strony zawierające odniesienie do niego. Wszystkie definicje zewnętrzego arkusza stylów są automatycznie przyjmowane przez elementy danej strony. W niniejszym dokumencie został użyty zewnętrzny arkusz wykorzystywany w Webmasterze - artykuly.css Stosowanie zewnętrznego arkusza ma tę zaletę, że nie jest konieczne wprowadzanie stylów na konkretnej stronie, zmniejszamy objętość plików, a także możemy za pomocą zmiany jednego parametru w arkuszu stylów zmienić wygląd wszystkich stron, które się odwołują do tego arkusza (np. kolor tytułu czy wielkość czcionki akapitów). Dołączanie do zewnętrznego arkusza stylów [ aktualizacja 20.12.2000 ] Każdą stronę można dołączyć do zewnętrznego arkusza stylów, w którym są zdefiniowane własności różnych elementów - interpretują to polecenie Internet Explorer 4 i 5, Netscape 6 i Opera 5. Na przykład, strony opisujące oprogramowanie internetowe w Narzędziach internetowych (w serwisie Wydawnictwa Lupus) są dołączane do zewnętrznego arkusza o nazwie toolstyl.css (rozszerzenie.css), umieszczonego na serwerze. Arkusz został zapisany następująco: <HTML> <STYLE TYPE="text/css"> <!-- BODY {text-align: justify; margin-left: 1cm; margin-right: 1cm; margin-top: 1cm} P {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal; text-indent: 3 em} A {text-decoration: none; color: blue} H1 {font-size: 24pt} H2 {font-size: 20pt} H3 {font-size: 16pt} H1, H2, H3 {font-family: "Arial CE", Arial, Helvetica; font-weight: bold; color: #808000} TD {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal} LI {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal} --> </STYLE> </HTML> Przykładowo, artykuł opisujący edytor Pajączek zawiera następującą część nagłówkową: <head> <title>pajączek 2.0</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <meta http-equiv="author" content="paweł Wimmer"> <meta http-equiv="authoring tool" content="homesite"> <meta http-equiv="distribution" content="global"> <meta http-equiv="resource-type" content="document"> <LINK REL=stylesheet HREF="../style/toolstyl.css" TYPE="text/css"> </head> Proszę zwrócić uwagę na wiersz (niebieski) zawierający odniesienie do arkusza. Jest on umieszczany w ramach części nagłówkowej (HEAD) i ma ściśle określoną składnię. HREF wskazuje ścieżkę do katalogu, w którym jest umieszczony arkusz. Może on być, oczywiście, 19

ulokowany w tym samym folderze, co strony zawierające odniesienie do niego. Wszystkie definicje zewnętrzego arkusza stylów są automatycznie przyjmowane przez elementy danej strony. W niniejszym dokumencie został użyty zewnętrzny arkusz wykorzystywany w Webmasterze - artykuly.css Stosowanie zewnętrznego arkusza ma tę zaletę, że nie jest konieczne wprowadzanie stylów na konkretnej stronie, zmniejszamy objętość plików, a także możemy za pomocą zmiany jednego parametru w arkuszu stylów zmienić wygląd wszystkich stron, które się odwołują do tego arkusza (np. kolor tytułu czy wielkość czcionki akapitów). Dołączanie do zewnętrznego arkusza stylów [ aktualizacja 20.12.2000 ] Każdą stronę można dołączyć do zewnętrznego arkusza stylów, w którym są zdefiniowane własności różnych elementów - interpretują to polecenie Internet Explorer 4 i 5, Netscape 6 i Opera 5. Na przykład, strony opisujące oprogramowanie internetowe w Narzędziach internetowych (w serwisie Wydawnictwa Lupus) są dołączane do zewnętrznego arkusza o nazwie toolstyl.css (rozszerzenie.css), umieszczonego na serwerze. Arkusz został zapisany następująco: <HTML> <STYLE TYPE="text/css"> <!-- BODY {text-align: justify; margin-left: 1cm; margin-right: 1cm; margin-top: 1cm} P {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal; text-indent: 3 em} A {text-decoration: none; color: blue} H1 {font-size: 24pt} H2 {font-size: 20pt} H3 {font-size: 16pt} H1, H2, H3 {font-family: "Arial CE", Arial, Helvetica; font-weight: bold; color: #808000} TD {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal} LI {font-family: "Arial CE", Arial, Helvetica; font-size: 10pt; font-weight: normal} --> </STYLE> </HTML> Przykładowo, artykuł opisujący edytor Pajączek zawiera następującą część nagłówkową: <head> <title>pajączek 2.0</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <meta http-equiv="author" content="paweł Wimmer"> <meta http-equiv="authoring tool" content="homesite"> <meta http-equiv="distribution" content="global"> <meta http-equiv="resource-type" content="document"> <LINK REL=stylesheet HREF="../style/toolstyl.css" TYPE="text/css"> </head> Proszę zwrócić uwagę na wiersz (niebieski) zawierający odniesienie do arkusza. Jest on umieszczany w ramach części nagłówkowej (HEAD) i ma ściśle określoną składnię. HREF wskazuje ścieżkę do katalogu, w którym jest umieszczony arkusz. Może on być, oczywiście, ulokowany w tym samym folderze, co strony zawierające odniesienie do niego. Wszystkie definicje zewnętrzego arkusza stylów są automatycznie przyjmowane przez elementy danej strony. W niniejszym dokumencie został użyty zewnętrzny arkusz wykorzystywany w Webmasterze - artykuly.css Stosowanie zewnętrznego arkusza ma tę zaletę, że nie jest konieczne wprowadzanie stylów na konkretnej stronie, zmniejszamy objętość plików, a także możemy za pomocą zmiany jednego parametru w arkuszu stylów zmienić wygląd wszystkich stron, które się odwołują do tego arkusza (np. kolor tytułu czy wielkość czcionki akapitów). 20

Import zewnętrznego arkusza stylów [ aktualizacja 20.12.2000 ] Każdą stronę można opisać za pomocą importowanego arkusza stylów. Funkcję tę realizują Internet Explorer 4 i 5, Netscape 6 i Opera 5. Import jest definiowany za pomocą następującego polecenia, umieszczanego w ramach HEAD: <style> <!-- @import url("adres arkusza"); --> </style> Jak Czytelnik zapewne zauważył, strona ta jest wyświetlana całkiem inaczej niż pozostałe. Został w niej użyty arkusz stylów zagnieżdżony na stronie głównej PCkuriera - http://www.pckurier.pl. Wygląd tego dokumentu będzie się zmieniać za każdym razem, gdy webmasterowi owej strony przyjdzie do głowy zmienić zawartość arkusza. <style> <!-- @import url("http://www.pckurier.pl"); --> </style> Można podać zarówno adres względny, jak i bezwzględny. Na przykład, korzystając ze stylu na innym serwerze, podamy adres bezwględny: <style> <!-- @import url("http://www.polbox.com.pl/lupus/style/toolstyl.css"); --> </style> Można więc sobie wyobrazić ujednolicenie wyglądu różnych witryn poprzez wykorzystanie importowanych stylów, umieszczonych na czyimś serwerze. Możliwe jest łączenie różnych definicji, np. uzupełnienie ustaleń importowanego arkusza stylów o własne definicje różnych elementów (style zagnieżdżane). W przypadku konfliktu pierwszeństwo mają ustalenia własne. <style> <!-- @import url("http://www.polbox.com.pl/lupus/style/toolstyl.css"); H1 {font-size: 30pt; font-family: Helvetica} --> </style> W definicji możemy podać kilka kolejnych adresów importowanych arkuszy (polecenia @import muszą się znajdować na początku). W przypadku konfliktu definicji, pierwszeństwo mają ostatnie w kolejności definicje @import. 21