
Od ćwiczenia 10 zajmować się będziemy CSS czyli Kaskadowymi Arkuszami Stylów (Cascading Style Sheets). CSS stanowią uzupełnienie dla HTML-a. HTML odpowiada za zawartość strony WWW, a CSS za jej wygląd. CSS umożliwia przypisanie dowolnemu elementowi dokumentu HTML (np. akapitowi, komórce tabeli, poziomej linii) określonego stylu.
Przeniesienie opisów formatowania elementów do arkuszy stylów i pozostawienie w dokumencie wyłącznie znaczników HTML (bez ustawiania wartości atrybutów) pozwala oddzielić strukturę dokumentu i jego treść od formy przekazu. Sam kod HTML staje się przez to mniejszy i bardziej przejrzysty, a witryny ładują się znacznie szybciej.
Style pozwalają kontrolować takie atrybuty, jak:
Można zbudować stronę jedynie w oparciu o HTML-a i nadać jej jakiś wygląd, ale będzie to w porównaniu z możliwościami CSS bardzo skromne.
Za używaniem CSS przemawia kilka poważnych argumentów:
1. Za pomocą pojedynczej reguły można sformatować wiele miejsc w wielu dokumentach HTML witryny WWW.
2. Arkusze stylów pomagają w utrzymaniu przejrzystego i prostego kodu języka HTML. Zajmują się formatowaniem, tym samym odciążając kod HTML.
3. Możliwości formatowania za pomocą arkuszy stylów są znacznie bardziej rozbudowane, niż te z użyciem HTML-a.
4. Style pozwalają w łatwy sposób zarządzać całą serią dokumentów, poprzez stosowanie zewnętrznych arkuszy stylów. Dzięki modyfikacji jednego pliku, można dokonać zmian w formatowaniu we wszystkich dokumentach HTML.
5. Dzięki klasom selektorów można zgrupować wszystkie atrybuty formatowania odnoszące się do wielu elementów.
6. Style dają zupełnie nowe możliwości formatowania stron WWW.
źródło: www.kurshtml.boo.pl
Arkusze stylów zawierają reguły. Każda z tych reguł jest instrukcją formatującą, która ma zastosowanie na stronie WWW. Arkusze stylów mogą zawierać pojedynczą regułę lub wiele reguł.
Reguły CSS mają specyficzną budowę. Składają się z trzech głównych elementów, a ich format jest następujący: selektor {właściwość: wartość;}.
Przykład: h1 {color: #ff0000;} oznacza, że sformatowane mają być nagłówki h1 (selektor), mają zostać pokolorowane (właściwość), na kolor #ff0000; czyli: red (wartość).
Budowa reguły może być bardziej poszerzona, można objąć większą ilość selektorów tym samym formatowaniem np.: h1, h2, h3 {color: #ff0000;}, jak również jeden selektor jednocześnie objąć kilkoma właściwościami i wartościami np.: h1 {color: #ff0000; text-align: center;}, a także kilka selektorów jednocześnie formatować różnymi właściwościami i wartościami np.: h1, h2, h3 {color: #ff0000; text-align: center;}.
Należy przestrzegać ścisłych zasad budowy reguł:
a) selektory oddzielone są przecinkami i spacjami (, )
b) po selektorze ostatnim (tym najbliżej właściwości) nie wpisuje się przecinka, jedynie spację
c) właściwości i wartości wpisuje się w nawiasy klamrowe ({ })
d) właściwość i wartość oddzielone są dwukropkiem i spacją (: )
e) kolejne właściwości następują po średniku i spacji (; )
f) na końcu średnik nie jest wymagany, ale dobrze jest go wpisać, co ułatwia dodanie kolejnej właściwości
Ogólny schemat reguły jest następujący: selektor_1, selektor_2, selektor_3 {właściwość_1: wartość_1; właściwość_2: wartość_2; właściwość_3: wartość_3;}.
Istnieją trzy sposoby dołączania arkusza stylów do dokumentu HTML:
a) styl lokalny - wewnątrzwierszowy
Styl lokalny - wewnątrzwierszowy - tutaj reguła formatująca umieszczona jest bezpośrednio w określonym znaczniku HTML i tylko jego dotyczy. Budowa reguły jest tu nieco odmienna - regułę wpisuje się bezpośrednio do znacznika: <selektor style="właściwość: wartość;">...</selektor>.
Ważne jest by dopisać po selektorze czyli znaczniku wyrażenie style="...", a w cudzysłowiu umieścić właściwości i wartości.
Styl lokalny dotyczy tylko jednego selektora, natomiast może zawierać więcej właściwości i wartości np.: <h1 style="color: #800000; text-align: center;">...</h1>. Ta reguła oznacza, że tylko ten nagłówek zostanie w ten właśnie sposób sformatowany: pokolorowany kolorem #800000; (maroon) i wyrównany na środek.
Dla stylów duże znaczenie ma znacznik <span>...</span>. Z jego pomocą można sformatować pewien większy fragment dokumentu. Można nim objąć inne znaczniki wyświetlane w linii, takie jak wytłuszczenie tekstu lub kursywę.
Kolejnym istotnym znacznikiem jest znacznik <div>...</div>. Dzięki niemu można wydzielić określone bloki dokumentu i swobodnie je formatować. Może zawierać w sobie różne znaczniki jak i inne bloki.
Na kolejnych zrzutach pokazane są przykłady formatowania wewnątrzwierszowymi arkuszami stylów:
Wewnętrzny arkusz stylów - jest wbudowany w dokument HTML - znajduje się wewnątrz elementu <head>...</head>. W takim arkuszu można wpisać komentarze używając znaków: /*...*/ - nie będą one interpretowane przez przeglądarkę. Ogólny shcemat arkusza wygląda następująco:
Taki arkusz będzie dotyczył wszystkich elementów ujętych w nim i będzie rozciągał się na cały dokument HTML. Czyli, jeżeli selektorem będzie na przykład akapit lub nagłówek h2, to wszystkie wystąpienia tego akapitu lub nagłówka w danym dokumencie HTML zostaną w wyznaczony sposób sformatowane.
Na kolejnych zrzutach pokazane są przykłady formatowania wewnętrzymi arkuszami stylów:
Zewnętrzny arkusz stylów - zapisywany jest w osobnym pliku z rozszerzeniem css Reguły formatowania są całkowicie odseparowane od strony HTML. Ten sam arkusz może być użyty wielokrotnie do różnych dokumentów HTML.
Powiązanie arkusza stylów z plikiem HTML następuje poprzez wstawienie odwołania do tego arkusza w części nagłówkowej dokumentu HTML. Wygląda to następująco:
Budowa natomiast pliku z arkuszem stylów jest podporządkowana budowie reguł stylów. W dowolnym edytorze należy wpisać wszystkie reguły formatowania stosując ogólną zasadę: selektor {właściwość: wartość;}.
Edytor kED podaje na przykład taki zestaw reguł we wbudowanym szablonie arkusza CSS:
Wstawienie białych znaków (spacje, tabulacje, nowe linie) w arkuszu CSS nie ma wpływu na jego działanie, warto więc wpisywać reguły w taki sposób, aby były czytelne, jak np. powyżej.
Do danego dokumentu HTML można dołączyć więcej arkuszy stylów. Dzięki temu uzyska się możliwość wyboru wyglądu strony. Należy przygotować kilka plików CSS z alternatywnym formatowaniem stron WWW i odpowiednio je podłączyć do tych dokumentów.
W przeglądarce Mozilla Firefox wyboru alternatywnego arkusza CSS można dokonać w menu Widok/Styl strony, a w Operze - Widok/Styl. Ażeby niektóre arkusze nie były dostępne do podmiany przez użytkownika, wystarczy osadzić je w tradycyjny sposób, tzn. jako arkusze domyślne bez podania atrybutu title="...".
źródło: www.kurshtml.boo.pl
Istnieje jeszcze jeden sposób dołączania arkusza stylów, który polega na imporcie tego arkusza z zasobów Internetu. Można zaimportować go i do wewnętrznego jak i zewnętrznego arkusza stylów.
Jednakże z racji tego, że celem zajęć jest umiejętność projektowania stron WWW z użyciem również CSS, to tym sposobem na ćwiczeniach zajmować się nie będziemy...
Dla porządku podaję sposób importu:
Kaskadowość arkuszy stylów. W związku z tym, że style mogą pochodzić z różnych źródeł, należy zapoznać się z pierwszeństwem ich oddziaływania na elementy strony.
Na przykład w zewnętrznym arkuszu stylów nagłówek h1 ma ustalony kolor #ff0000; (red) lecz w jednym z plików HTML w jednym nagłówku h1 ustalony został kolor #0000ff; (blue). Jakiego koloru będzie ten nagłówek?
O tym właśnie decyduje kaskadowość arkuszy stylów. Pierwszeństwo mają te style, które znajdują się bliżej formatowanego elementu. Taka jest więc kolejność stylów:
Polecenie dołączenia zewnętrznego arkusza powinno znajdować się w dokumencie wcześniej niż wewnętrzny arkusz. Odwrotna kolejność złamie zasady kaskadowości.
źródło: www.kurshtml.boo.pl
Jako, że w tym ćwiczeniu nie było jeszcze mowy o konkretnych właściwościach i ich wartościach, tu zostaną użyte jedynie przykładowe, bo celem tego ćwiczenia jest przede wszystkim umiejętność dołączania arkuszy stylów.
Właściwości jakie zostaną użyte to:
Informacje o kolorach: tutaj
Zadanie polega na wykonaniu formatowania za pomocą arkuszy stylów: zewnętrznego, wewnętrznych i wewnątrzwierszowych w kilku plikach HTML.
1. Należy zacząć od przygotowania struktury folderów i plików:
2. We wszystkich plikach HTML należy umieścić taką samą treść:
Po wpisaniu całej zawartości pliki powinny wyglądać tak - bez żadnego formatowania:
3. Formatowanie zewnętrznym arkuszem stylów. W pliku style.css należy ustalić formatowanie dla wszystkich elementów znajdujących się w plikach:
Po zapisaniu pliku style.css pliki powinny wyglądać tak:
Pozostałe dwa pliki wyglądają identycznie:
4. Formatowanie wewnętrznym arkuszem stylów - patrz tutaj. W plikach: plik_2.html i plik_3.html w sekcji nagłówkowej należy zapisać znacznik <style>...</style> z takim samym, odpowiednim formatowaniem:
Po modyfikacji oba pliki HTML powinny wyglądać tak:
Tak samo wygląda plik_3.html:
5. Formatowanie wewnątrzwierszowym arkuszem stylów - patrz tutaj. W pliku plik_3.html należy dokonać lokalnych modyfikacji na wybranych znacznikach:
Po modyfikacji plik_3.html powinien wyglądać tak:
Oceniany będzie folder cw_10 z podfolderami: pliki i style i z plikami: plik_1.html, plik_2.html, plik_3.html i style.css w odpowiednich folderach. Pliki HTML powinny być sformatowane za pomocą CSS, na trzy sposoby: zewnętrznym arkuszem stylów (wszystkie pliki), wewnętrznym arkuszem stylów (plik_2.html i plik_3.html) i wewnątrzwierszowym arkuszem stylów (plik_3.html) - odpowiednie selektory - zgodnie z podanymi właściwościami i ich wartościami.
Przy przygotowywaniu powyższego ćwiczenia wielką pomocą służył kurs HTML-a - w wersji online: http://www.kurshtml.boo.pl, jak również w wersji offline do pobrania z tej samej strony.