CSS Kaskadowe Arkusze Stylów
CSS CSS = Cascading Style Sheets Style określają sposób wyświetlania zawartości elementów HTML Arkusz stylów jest zbiorem takich reguł Pojawiły się w HTML 4.0 by rozwiązać problem rozdziału struktury dokumentu od wyglądu strony Zewnętrzne arkusze stylów umieszczane w plikach CSS Zewnętrzne arkusze stylów umożliwiają szybką zmianę wyglądu wielu stron Różne definicje stylów dla tego samego dokumentu są kaskadowo łączone w jeden wirtualny styl
Łączenie kaskadowe stylów Porządek łączenia (od najniższego priorytetu)» domyślny styl przeglądarki» zewnętrzny arkusz stylów» wewnętrzny arkusz stylów (w znaczniku <head>)» styl elementu
Dodawanie arkuszy stylów w HTML-u Trzy sposoby:» zewnętrzny arkusz» wewnętrzny arkusz» styl elementu
Zewnętrzny arkusz stylów Zalecany, gdy taki sam styl ma być stosowany dla wielu stron Zapisywany w osobnym pliku.css Plik nie powinien zawierać znaczników HTML Efekty zmian w tym pliku będą widoczne na wielu stronach Strona odwołuje się do pliku za pośrednictwem znacznika <link> Przykład: <head> <link rel="stylesheet" type="text/css" href="arkusz_stylow.css" /> </head>
Wewnętrzny arkusz stylów Zalecany, gdy pojedyncza strona ma być wyświetlana według innego stylu niż pozostałe strony serwisu Zapisywany w tym samym pliku.html, w którym zapisana jest strona www Definiowane w sekcji <head>... </head> za pośrednictwem znacznika <style>... </style> Przykład: <head> <style type="text/css"> h1 {color: blue} p {margin-left: 20px} </style> </head> Uwaga! Starsze wersje przeglądarek mogą nie obsługiwać znacznika <style>... </style>. W takim przypadku jest on ignorowany, ale niestety zawartość zostanie wyświetlona. Można tego uniknąć wpisując zawartość jako komentarz HTML-a.
Styl elementu Zalecane tylko w szczególnych przypadkach Zawartość dokumentu i sposób jego prezentacji określone wewnątrz tych samych znaczników Zasięg takiego stylu ogranicza się do elementu HTML, w którym został on użyty Definiowany za pomocą atrybutu style, którego wartość może być równa dowolnej właściwości CSS Przykład: <h1="color: blue; margin-left: 20px; font-size: 14pt"> Nagłówek </h1>
Składnia CSS Trzy części: selektor, właściwość, wartość» selektor {właściwość:wartość} selektor element HTML właściwość cecha wizualna elementu, która ma być zmieniona wartość wartość na jaką ma być zmieniona cecha wizualna, jeżeli składa się ona z kilku słów to całość należy ująć w znaki ""» można zdefiniować kilka właściwości dla jednego selektora, wówczas sąsiednie pary "właściwość: wartość" są oddzielone średnikami np. p {text-align: center; font-family="sans serif"» można grupować selektory (należy je wtedy oddzielić przecinkami) np. h1,h2,h3 {color: red}
Klasy Dzięki klasom elementy tego samego typu mogą mieć w ramach tej samej strony różne właściwości przykład:» arkusz stylów: p.klasa1 {text-align: left} p.klasa2 {text-align: right} p.klasa3 {color: red; text-decoration: bold}» plik HTML: <p class=klasa1> tekst wyrównany do lewej </p> <p class=klasa2> tekst wyrównany do prawej </p> Łączenie klas: <p class="klasa1 klasa3"> wytłuszczony czerwony tekst wyrównany do lewej </p> Uwaga! Nazwa klasy nie powinna zaczynać się cyfrą, ponieważ takie klasy nie są obsługiwane w Firefoxie
Style dla wszystkich elementów HTML Definiowane za pomocą klas bez selektora (.klasa) Przykład» arkusz stylów:.center {text-align: center}» plik HTML: <h1 class="center"> Wycentrowany nagłowek</h1> <p class="center"> Wycentrowany paragraf </p>
Style dla elementów o określonych atrybutach Składnia:» selektor[atrybut="wartość"] {właściwość:wartość} Przykład» arkusz stylów: input[type="text"] {background-color: green}» plik HTML: Nazwisko: <input type="text" name="nazwisko">
Selektor id Możliwość definiowania stylów dla elementów HTML z określonym atrybutem id W arkuszu stylów atrybutowi id odpowiada symbol # Przykład:» arkusz stylów: #niebieski {color: blue} h1#nagl1 {text-align: right; color: green}» w pliku HTML każdy element z atrybutem id="niebieski" zostanie wyświetlony w kolorze niebieskim, a nagłówki z atrybutem id="nagl1" będą wyświetlone w kolorze zielonym z wyrównywaniem do prawej strony
Pseudoklasy Składnia:» selektor.nazwaklasy:pseudoklasa {właściwość: wartość;}» służą do formatowania elementów HTML w zależności od akcji użytkownika, umiejscowienia na stronie, języka, itp. Przykład:» hiperłącza» arkusz stylów: A:link {color:black;} A:visited {color:green;} A:hover {color:red;} /* musi wystąpić po a:link i a:visited */ A:active {color:blue;} /* musi wystąpić po a:hover */» plik HTML <a href="index.html" target="_blank">to jest hiperłącze w kolorze czarnym, pod kursorem myszy zmienia kolor na czerwony, po kliknięciu na niebieski, a po odwiedzeniu na zielony</a>
Komentarze Ujęte w parę znaków: /* oraz */ Są ignorowane przez przeglądarki
Dziedziczenie Przejęcie niektórych cech stylu zdefiniowanych dla obiektu nadrzędnego Na kilku płaszczyznach:» miejsca definiowania stylu (arkusze zewnętrzne, arkusze wewnętrzne, style elementu)» po obiektach nadrzędnych (przykład na rysunku obok)» po obiektach bez klasy przykład: arkusz stylów: <head> <html> <body> p {color: blue;} p.klasa1 {font-size: 8pt;} p.klasa2 {color:red; font-size: 12pt;} plik HTML: <p> Niebieski tekst </p> <title> <p> <h1> <p class="klasa1"> Tekst niebieski (odziedziczony) rozmiar 8 punktów </p> <p class="klasa2"> Tekst czerwony o rozmiarze 12 pt </p> <table> <td>
Style tła dokumentu Umożliwiają:» określenie koloru tła elementu» ustawienie obrazka jako tła» powtarzanie obrazka tła w pionie i/lub w poziomie» określenie pozycji obrazka tła
Ustawianie koloru tła Właściwość: background-color Wartości:» rgb(n,n,n)» #xxxxxx» nazwa koloru» transparent Przykład: body {background-color: blue} h1 {background-color: #00ff00} h2 {background-color: transparent} p {background-color: rgb(250,0,255)}
Obrazek jako tło Własność:» background-image Wartości:» url -» none Przykład: body {background-image: url('tlo.jpg') }
Powtarzanie obrazka tła Własność:» background-repeat Wartości:» repeat» repeat-x» repeat-y» no-repeat
Określanie stałej pozycji tła Własność:» background-position Wartości:» top left, top center, top right, center left, center center, center right, bottom left, bottom center, bottom right (pominięcie jednej wartości oznacza, że będzie miała ona wartość center)» x% y% (pominięta wartość ustawiona na 50%)» xpx ypx (pominięta wartość ustawiona na 50%) Można mieszać wartości procentowe i pikselowe
Własność background-attachment Decyduje o tym, czy obrazek tła ma być nieruchomy, czy też skrolowany razem z resztą strony Wartości:» scroll» fixed Przykład: body {background-image: url('tlo.gif'); background-repeat:no-repeat; background-attachment: fixed }