CSS. Kaskadowe arkusze stylów CSS



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

Kaskadowe arkusze stylów cz. 2

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

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

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

Wprowadzenie do Internetu zajęcia 3

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

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

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

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

Tworzenie stylów w HTML

Projektowanie aplikacji internetowych. CSS w akcji

CSS - layout strony internetowej

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

Wykład 2 CSS. Michał Drabik

za pomocą: definiujemy:

CSS. Kaskadowe Arkusze Stylów

Znaczniki języka HTML

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.

Model blokowy. Model blokowy w CSS

Tworzenie Stron Internetowych. odcinek 7

Arkusze stylów CSS Cascading Style Sheets

kaskadowe arkusze stylów

Technologie internetowe

Bezbolesny wstęp do CSS

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

I. Wstawianie rysunków

Czcionki. Rodzina czcionki [font-family]

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

Systemy internetowe Wykład 2 CSS

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

Dokument hipertekstowy

Tworzenie Stron Internetowych. odcinek 6

Spis treści. Konwencje zastosowane w książce...5. Dodawanie stylów do dokumentów HTML oraz XHTML...6. Struktura reguł...9. Pierwszeństwo stylów...

Projektowanie stron WWW

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

I. Formatowanie tekstu i wygląd strony

Ćwiczenie 9 - CSS i wstawianie CSS

HTML podstawowe polecenia

Ćwiczenie 10 - Selektory

ZAWSEZ PAMIĘTAMY O KOLJENOŚĆI OTWIERANIA I ZAMYKANIA ZNACZNIKÓW

Laboratorium 1: Szablon strony w HTML5

Dokument hipertekstowy

Informacje wstępne: Dodatki, które warto doinstalować do przeglądarki:

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

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

Tworzenie stron internetowych w kodzie HTML Cz 5

TECHNOLOGIE SIECI WEB

Języki programowania wysokiego poziomu CSS

Programowanie WEB PODSTAWY HTML

Języki programowania wysokiego poziomu. CSS Wskazówki

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

CSS - style kaskadowe. Cascadind Style Sheets

Kaskadowe arkusze stylów


Responsywne strony WWW

Przykładowe pytania CSS

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

Jednostki miar stosowane w CSS

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH

Układy witryn internetowych

Tworzenie stron WWW. Ilustrowany przewodnik

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

APLIKACJE INTERNETOWE 3 CSS - W Y G L Ą D S T R O N Y I N T E R N E T O W E J

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

Ćwiczenie 4 - Tabele

Kaskadowe arkusze stylów (CSS)

Uwaga w niektórych przeglądarkach różnice mogą być niewidoczne zależy to od przeglądarki i ew. od jej ustawień.

PROJEKTOWANIE STRON WWW W4

Prezentacja dokumentów XML

Blok dokumentu. <div> </div>

zmiana koloru tła <body bgcolor = kolor > tło obrazkowe <body background= ścieżka dostępu do obrazka >

I. Menu oparte o listę

I. Pozycjonowanie elementów

STRONY INTERNETOWE mgr inż. Adrian Zapała

Prezentacja dokumentów XML

WYKŁAD 2 KASKADOWE ARKUSZE STYLÓW CSS CZĘŚĆ 1

Selektory Pseudoklasy. Gabriela Panuś

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

Tworzenie Stron Internetowych. odcinek 6

Specyfikacja techniczna dot. mailingów HTML

Technika pracy nad układem strony

[ HTML ] Tabele. 1. Tabela, wiersze i kolumny

Krok 1: Stylizowanie plakatu

Edukacja na odległość

2. MATERIAŁ NAUCZANIA

1. HTML dla zielonych

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

2. Prezentacja wizualna

Ćw.4 Dokumenty HTML Przy pomocy języka znaczników opisać można strukturę witryny internetowej, postać i wygląd jej elementów.

Pierwsza strona internetowa

SterBox. Przygotowanie Strony Użytkownika

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

Technologie Informacyjne

Odsyłacze. Style nagłówkowe

Podstawy pozycjonowania CSS

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

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

Deklarowanie tytułu związanej z tabelą

Transkrypt:

CSS Kaskadowe arkusze stylów CSS 1

CSS CSS (Cascading Style Sheet) język służący do opisu formy prezentacji (wyświetlania) stron WWW. CSS został opracowany przez organizację W3C w 1996 r. Język HTML odpowiada za strukturę tworzonej witryny internetowej i poszczególnych dokumentów (ich stronę semantyczną). Język CSS odpowiada za wizualną prezentację stron internetowych w przeglądarkach. 2

CSS Cel: stworzenie możliwości bardziej elastycznego zarządzania sposobem formatowania (wyglądem) elementów znajdujących się w dokumentach elektronicznych daje możliwość globalnego zarządzania formą prezentacji całej witryny internetowej (skórki) pomysł wykorzystywany od dawna w postaci szablonów w edytorach tekstu i prezentacji Cechy: odseparowania struktury dokumentu od formy jego prezentacji nie może zatem istnieć samodzielnie, gdyż jest ściśle powiązane z językiem opisu struktury dokumentów takim jak (X)HTML daje znacznie większe możliwości pozycjonowania elementów na stronie, niż oferuje sam (X)HTML. 3

Dlaczego warto używać CSS Style stały się już praktycznie podstawowym narzędziem formatującym. Prefesjonalnie wykonane strony wykorzytują CSS. Przestarzałe atrybuty i znaczniki, znajdujące się bezpośrednio w składni HTML, które dotyczą formatowania (np. HTML 4.01), będą stopniowo wycofywane przez producentów przeglądarek internetowych, na rzecz rekomendowanych analogicznych deklaracji CSS. Dokumenty pisane z wykorzystaniem arkuszy stylów są zwykle bardziej przejrzyste i krótsze. Style pozwalają w łatwy sposób zarządzać całą serią dokumentów, poprzez stosowanie zewnętrznych arkuszy stylów. Dzięki temu w łatwy i wygodny sposób, można dokonać modyfikacji rodzaju formatowania jednocześnie we wszystkich dokumentach, zmieniając dane tylko w jednym pliku. 4

Dlaczego warto używać CSS Dzięki możliwości stosowania klas selektorów, znacznie oszczędzamy sobie pisania. W jednym miejscu określamy wszystkie atrybuty formatowania (których może być bardzo dużo), odnoszące się do wielu elementów, które mają wyglądać tak samo. Bezpośrednio przy elemencie wystarczy podać tylko nazwę klasy i nie musimy już wypisywać "litanii" poleceń. Znacznie przyspiesza to późniejszą modyfikację strony, ponieważ zmian dokonujemy tylko w jednym miejscu, a wpływają one na wiele elementów jednocześnie. Możliwość stosowania różnorodnych jednostek oraz sposobów definiowania kolorów. Style dają autorowi możliwości, które do tej pory były praktycznie niemożliwe do osiągnięcia: 1. Różne wartości pogrubienia czcionki (9 rodzajów) 2. Dodatkowe możliwości formatowania tekstu 5

Składnia selektor { cecha: wartość; inna-cecha: inna-wartość } p { font-family: sans-serif } h3 {font-variant: small-caps; font-size: 15pt; color: green; font-family: Courier} TYTUŁ STOPNIA TRZECIEGO, 15-PUNKTOWY, ZIELONY, KAPITALIKI 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. UWAGA: wartości w CSS2 nie powinny być otoczone cudzysłowem! 6

Składnia H1 H1 H1 H1 H1 H1 { { { { { { font-weight: bold } font-size: 12pt } line-height: 14pt } font-family: Helvetica } font-variant: normal } font-style: normal } jest równoważny H1 { font-weight: bold; font-size: 12pt; line-height: 14pt; font-family: Helvetica; font-variant: normal; font-style: normal } 7

Błędy w składni Błędne elementy są pomijane! H1 { color: red; font-style: 12pt } /* Błędna wartość: 12pt */ P { color: blue; font-vendor: any; /* Błędna właściwość: fontvendor */ font-variant: small-caps } jest równoważny H1 { color: red } P { color: blue; font-variant: small-caps } 8

Dołączanie stylów Dołączanie aruksza stylów jako zewnętrznego dokumentu znacznik LINK <link rel="stylesheet" href="arkusz.css"> <!-wersja dla HTML --> <link rel="stylesheet" href="arkusz.css" /> <!-wersja dla XHTML --> 9

Model kaskadowy W przypadku, gdy reguły wzajemnie się wykluczają, stosowany jest styl będący bliżej formatowanrgo elementu. 1. Definicje stylów w atrybucie style elementu 2. Rozciąganie stylu <SPAN> 3. Wydzielone bloki <DIV> 4. Definicje stylów w nagłówku dokumentu (wewnętrzny arkusz stylu) 5. Zewnętrzne arkusze stylów 6. Domyślny arkusz użytkownika przeglądarki (jak wyżej) 7. Domyślny arkusz przeglądarki WWW (niezależny od autora strony) 10

Łamanie kaskadowości C S S H T M L Polecenie!important h2 { color: red!important; background-color: green } <h2 style="color: green; background-color: yellow"> Tekst i tak jest czerwony, ale na żółtym tle!!! </h2> 11

Format dokumentu CSS Zwykły plik tekstowy zawierający kolejne selektory; Komentarze /* komentarz */ /* komentarz wieloliniowy */ Komentarzy nie wolno zagnieżdżać /*komentarz /*proba zagnieżdżenia*/ nieudana*/ <!-- Komentarze SGML-owe również mogą być stosowane --> 12

Dołączanie stylów Znacznik STYLE <!-- wewnatrz dokumentu --> <head> (...) <style type="text/css"> selektor { cecha: wartość; cecha2: wartość2... } selektor2 { cecha: wartość; cecha2: wartość2... } (...) </style> (...) </head> 13

Import CSS <style type="text/css"> @import url(adres zewnętrznego arkusza stylów); </style> Importowanie działa podobnie jak zewnętrzny akrusz jest przechowywany w oddzielnym pliku, po wczytaniu jest dołączany do strony 14

Rozciąganie stylów <span style="cecha: wartość; cecha2: wartość2...">...</span> <div style="cecha: wartość; cecha2: wartość2...">...</div> Objęcie większego fragmentu dokumentu DIV służy do obejmowania większych fragmentów tekstu Wewnątrz DIV można zagnieżdżać boki DIV oraz SPAN Formatowanie XXXXXXXXXX div XXXXXXXXXX XXXXXXXspanXXXXXXXXXX 15

Rozciąganie stylów - SPAN <span style="color: red";font-size: 15pt> <i>tekst napisany kursywą (element wyświetlany w linii) w ramach SPAN</i>, a to jest zwykły tekst - również wewnątrz SPAN. </span> Tekst napisany kursywą (element wyświetlany w linii) w ramach SPAN, a to jest zwykły tekst również wewnątrz SPAN. 16

Rozciąganie stylów - DIV <div style="background-color: yellow"> Blok pierwszy <div style="color: green"> Blok drugi <span style="color: blue"> Wewnątrz span </span> Blok drugi</div> Blok pierwszy </div> Blok pierwszy Blok drugi Wewnątrz span Blok drugi Blok pierwszy 17

Rodzaje selektorów Selektory elementów Selektory atrybutów Selektory specjalne Selektory pseudoelementów Selektory pseudoklas 18

Selektor uniwersalny * { cecha: wartość } * { color: blue; font-size: 12pt } Określa atrybuty dla wszystkich elementów strony 19

Grupowanie selektorów selektor1,selektor2,selektor3 { cecha: wartość; innacecha: inna-wartość } h1, h2, h3 {font-family:helvetica; color:blue; } Grupowanie selektorów wykorzystywane jest do nadawania wartości określonym cechom dla więcej niż jednego selektora. Cel: Oszczedność czasu Prostota dokumentu 20

Selektor potomka przodek1 przodek2... potomek { cecha: wartość } h1 p b { color: green } Pozwala nadać atrybuty elementom, które leżą niżej w hierarchii drzewa dokumentu (zawierają się w innych zewnętrznych znacznikach). Możemy zmienić typ formatowania tylko dla określonych elementów, które są podrzędne w stosunku do innych (przodków). Potomek nie musi leżeć bezpośrednio wewnątrz znacznika przodka. 21

Selektor potomka CSS: p b { color: red } HTML: <p> <i>to jest <b>akapit</b> napisany kursywą</i>, a ten zwykłą <b> czcionką </b> <p> to jest akapit napisany kursywą, a ten zwykłą czcionką 22

Selektor potomka CSS: ol ul { color: red } HTML: <ol> <li>punkt pierwszy <ul> <li>podpunkt pierwszy</li> <li>podpunkt drugi</li> </ul> </li> <li>punkt drugi</li> </ol> 1. Punkt Pierwszy Podpunkt pierwszy Podpunkt drugi 2. Punkt drugi 23

Selektor dziecka rodzic > dziecko { cecha: wartość } p > b { color: green } Stosowany gdy selektor dziecka leży jeden poziom niżej niż rodzica CSS: p > b { color: red } HTML: <p> <i>to jest <b>akapit</b> napisany kursywą</i>, a ten zwykłą <b> czcionką </b> <p> to jest akapit napisany kursywą, a ten zwykłą czcionką 24

Selektor braci brat1 + brat2 { cecha: wartość } i + b { color: green } Stosowany gdy brat1 oraz brat2 leżą na tym samym poziomie drzewa dokumentu Jeśli bezpośrednio po brat1 wystąpi brat2, to ten ostatni, będzie formatowany zgodnie z definicją selektora; bezpośrednio nie oznacza, że pomiędzy brat1 oraz brat2 nie może być żadnego tekstu; nie może za to występić żaden znacznik CSS: i + b { color: red } HTML: <p> <i>to jest tekst napisany kursywą</i>, a ten jest <b> pogrubiony </b> <p> to jest tekst napisany kursywą, a ten jest pogrubiony 25

Selektory atrybutów Służą do definiowania stylu dla selektorów, które mają ustawiony określony atrybut selektor[atrybut] { cecha: wartość } p [title] {color: red } /*(1)*/ p [title][lang] {color: green} /*(2)*/ (1) Tekst ma być pisany czerwoną czcionką dla każdego znacznika p z ustawionym atrybutem title. (2) Tekst ma być pisany czerwoną zielona dla każdego znacznika p z ustawionymi atrybutami title oraz lang. 26

Selektory atrybutów Służą do definiowania stylu dla selektorów, które mają ustawioną określoną wartość atrybutu (case-sensitive) selektor[atrybut= wartosc_atrybutu ] { cecha: wartość } p [title= introduction ] {color: red } /*(1)*/ p [title= section1 ][lang= pl ] {color: green} /*(2)*/ To jest <p title= introduction > akapitw kolorze </p> czerwonym. To jest akapitw kolorze czerwonym 27

Selektory atrybutów Definiowanie stylu dla selektorów, które mają ustawiony określoną wartość atrybutu selektor[atrybut= wartosc_atrybutu ] { cecha: wartość } p [title= introduction ] {color: red } /*(1)*/ p [title= section1 ][lang= pl ] {color: green} /*(2)*/ To jest <p title= introduction > akapit w kolorze </p> czerwonym. To jest akapit w kolorze czerwonym 28

Selektory atrybutów Definiowanie stylu dla selektorów o wartościach zawierających dane słowo. wyraz nie może zawierać spacji selektor[atrybut~= wyraz ] { cecha: wartość } p [title~= rozdzial ] {color: red } To jest <p title= to jest rozdzial pierwszy > akapit w kolorze </p> czerwonym. To jest akapit w kolorze czerwonym 29

Selektory atrybutów Definiowanie stylu dla selektorów o wartościach rozpoczynających się od określonego słowa. wyraz nie może zawierać spacji selektor[atrybut = wyraz ] { cecha: wartość } p [title = rozdzial ] {color: red } To jest <p title= rozdzial pierwszy > akapit w kolorze </p> czerwonym. To jest akapit w kolorze czerwonym 30

Łączenie selektorów atrybutów selektor[atrybut1][atrybut2= wartosc ][atrybut3 = wyraz ] { cecha: wartość } p [title = rozdzial ][lang = en ] {color: red } 31

Selektory atrybutów - specjalne Definiowanie własnych atrybutów: Możliwość ustalenia określonych atrybutów dla danego elementu i jednocześnie zmienić wygląd tylko niektórych, bezpośrednio przy nich. selektor.klasa { cecha: wartość }.klasa { cecha: wartość } /*selektor uniwersalny*/ p.wstep {color: red } To jest <p class= wstep > akapit w kolorze <p> czewonym To jest akapit w kolorze czerwonym 32

Selektory identyfikatorów Nadawanie określonych atrybutów formatowania dla elementu, który ma jednoznaczny identyfikator (ID), czyli występuje tylko raz w drzewie dokumentu (w odróżnieniu od klasy). selektor#identyfikator { cecha: wartość } #identyfikator { cecha: wartość } uniwersalny*/ /*selektor p#wstep {color: red } To jest <p id= wstep > akapit w kolorze <p> czewonym 33

Selektory pseudoelementów Możliwość odnoszenia się do specjalnych elementów struktury dokumentu bez konieczności wprowadzania żadnych dodatkowych znaczników do kodu źródłowego. Pseudoelementy pozwalają również automatycznie generować pewną zawartość w określonych miejscach dokumentu, która normalnie nie znajduje się w kodzie źródłowym. Chodzi tutaj o specjalny tekst poprzedzający lub następujący np. po akapicie. selektor:first-line { cecha: wartość } /*formatowanie pierwszej linii*/ p:first-letter { color: red } selektor:first-letter { cecha: wartość } /*formatowanie pierwszej litery*/ p:first-letter { color: red } 34

Selektory pseudoelementów Selektory before oraz after określają tekst wyświetlany przed i po danych selektorze selektor:before { content: "tekst przed" } selektor:after { content: "tekst po" } selektor:after { content: url(ścieżka dostępu do obrazka) } 35

Selektory pseudoelementów Automatyczne dodawanie cydzysłowowów q:before { content: open-quote } q:after { content: close-quote } Definiowanie własnych cydzysłowów. Dwa pierwsze znaki (pierwsza para) określa znaki początku oraz końca. Kolejna para określa symbole dla zagnieżdżonych cudzysłowów. Można defniować symbole dlawielu poziomów. q { quotes: '"' '"' "'" "'" } 36

Selektory pseudoklas Style CSS normalnie są dodawane do elementów, na podstawie ich pozycji w drzewie dokumentu. Taki model nie zawsze jednak jest wystarczający. Pseudoklasy klasyfikują elementy inaczej niż po ich nazwie, atrybutach czy zawartości, tzn. w zasadzie nie są ustalane na podstawie drzewa dokumentu. Mogą być dynamiczne w tym sensie, że element "nabywa" lub "traci" pseudoklasę podczas interakcji z użytkownikiem. Przykładem jest podświetlenie elementu po wskazaniu go myszką przez użytkownika. Grupy pseudoklas: 1. Pseudoklasy linków: :link, :visited 2. Pseudoklasy dynamiczne: :active, :hover, :focus 3. Inne: :lang(), :first-child 37

Selektory pseudoklas Odsyłacz podstawowy a:link { cecha: wartość } :link { cecha: wartość } /* selektor a można pominąć,gdyż link może odnosić się tylko do niego */ Odsyłacz odwiedzony a:visited { cecha: wartość } :visited { cecha: wartość } Aktywacja - np. kiedy użytkownik wciśnie i przytrzyma przycisk myszki na odsyłaczu - aktywacja będzie miała miejsce do momentu zwolnienia przycisku myszki. Wszystkie przeglądarki obsługują dla selektora a ; inne selektory mogą nie być obsługiwane. selector:active { cecha: wartość } 38

Selektory pseudoklas Wskazanie myszką selector:hover { cecha: wartość } Prawidłowa obsługa selektorów zależy od kolejności ich zdefiniowania: a:link { cecha: wartość } a:visited { cecha: wartość } a:hover { cecha: wartość } a:active { cecha: wartość } 39

Selektory pseudoklas Selektor pierwszego dziecka dziecko:first-child { cecha: wartość } /*dowolny rodzic*/ rodzic > dziecko:first-child { cecha: wartość } /*określony rodzic*/ 40

Selektory pseudoklas Zogniskowanie dotyczy głównie odsyłaczy oraz elementów formularzy dziecko:focus { cecha: wartość } Język formatowanie elementów, dla których nadano atrybut lang. <body lang="pl"> <p>ten akapit jest napisany w języku polskim.<p> </body> /* Ta reguła zostanie zastosowana: */ p:lang(pl) { color: red } /* Ta reguła nie zostanie zastosowana: */ p[lang ="pl"] { color: blue } 41

Łączenie selektorów Format: 1. selektor typu lub selektor uniwersalny 2. selektory atrybutów, selektor identyfikatora, selektor klasy lub selektory pseudoklas (w dowolnej kolejności) 3. selektory pseudoelementów Przykład: Reguła kojarząca każdy element typu a (czyli odsyłacz), który będzie posiadał klasę class="przyklad", kiedy zostanie on wskazany myszką: a.przyklad:hover { font-weight: bold } 42

Własności elementów w CSS Czcionka Wielkość font-size Rodzaj (krój) font-family Należy podawać kilka rodzajów rozdzielonych przecinkami. Wówczas, gdy użytkownik nie będzie posiadał którejś z nich, będą brane następne. Przykłady krojów: Arial, Helvetica, Times New Roman, Courier New Można podawać rodzinę czcionek: serif, sans-serif, cursive, fantasy Styl font-style wartości absolutne: xx-small, x-small, small, medium, large, x-large, xxlarge wartości względne: smaller (mniejsza od bieżącej), larger (większa) wartości wyrażone w jednostkach bezwzględnych: in (cale; 1in = 2.54cm), cm, mm, pt (punkty; 1pt = 1/72in), pc (pika' 1pc = 12pt) Procent wielkości bieżącej: np. 75% Wartości: normal (czcionka normalna), italic (kursywa), oblique (kursywa) Waga (wytłuszczenie) font-weight Wartości: normal (czcionka normalna), bold (kursywa) lub wartość (9 poziomów) od 100 do 900 (400=bold) Wartości względne: lighter, bolder 43

Własności elementów w CSS Czcionka Wariant selektor font-variant Wartości: normal, small-caps (kapitaliki) Selektor mieszany selektor font Można podawać kolejne wartości oddzielone spacjami p { font: bold 12pt Arial } Dodatkowo można wstawiać wartości systemowe czcionek: caption czcionka używana do podpisanych kontrolek (np. przycisków, rozwijalnych list), icon - czcionka etykiet ikon, menu, message-box okna dialogowe, small-caption - etykiety małych kontrolek, status-bar pasek statusu okna Rozciąganie selektor font-stretch Wartości: ultra-condensed - najbardziej ścieśniona, extra-condensed, condensed - ścieśniona, semi-condensed, normal - czcionka normalna, podstawowa), semi-expanded, expanded - rozciągnięta, extra-expanded, ultra-expanded - najbardziej rozciągnięta 44

Własności elementów w CSS Tekst Kolor color 16 kolorów podstawowych black (#000000) silver (#C0C0C0) gray (#808080) white (#FFFFFF) maroon (#800000) red (#FF0000) purple (#800080) fuchsia (#FF00FF) green (#008000) lime (#00FF00) olive (#808000) yellow (#FFFF00) navy (#000080) blue (#0000FF) teal (#008080) aqua (#00FFFF) W postaci kodu RGB: #RRGGBB, #RGB (każda składowa okreslana jedną cyfrą w kodzie szesnastkowym), rgb(r,g,b) (składowe podawane dziesiętniel wartości od 0 do 255), rgb(%r,%g,%b) (składowe podawane procentowo) 28 kolorów systemowych, np. - ActiveCaption nagłówek aktywnego okna - Background tło pulpitu - ButtonText tekst na przyciskach - WindowFrame ramka okna - WindowText tekst w oknach 45

Własności elementów w CSS Tekst Dekoracja text-decoration Transformacja text-transform Wartości: none - bez zmian, capitalize - zamiana pierwszych liter wszystkich wyrazów na wielkie, uppercase - zamiana wszystkich liter na wielkie, lowercase - zamiana wszystkich liter na małe Wyrównanie text-align Wartości: none - bez zmian, underline - podkreślenie, line-through przekreślenie, overline - nadkreślenie, blink - migotanie tekstu (nie we wszystkich przeglądarkach) Wartości można łączyć oddzialając je spacjami Wartości: left - wyrównanie tekstu do lewego marginesu (domyślnie), right - wyrównanie do prawego marginesu, center - do środka (wyśrodkowanie), justify - do obu marginesów jednocześnie (justowanie) Wcięcie text-indent Wartości: wielkość wcięcia w dowolnej jednostce 46

Własności elementów w CSS Tekst Cień text-shadow selektor { text-shadow: poziom pion rozmycie kolor} Odstęp między wierszami text-height Wartoś podawana w dowolnej jednostce Odstęp między wyrazami word-spacing Wartości: poziom - przesunięcie cienia w prawo (ujemne wartości przesuwają w lewo), pion - przesunięcie cienia w dół (ujemne wartości przesuwają w górę), rozmycie - promień efektu rozmycia (opcjonalnie), kolor - kolor bazowy efektu (opcjonalnie - jeśli go nie podamy, przyjmie kolor taki, jak sam element) Wartości poziom pion i rozmycie podawane w dowolnej jednostce Wartoś podawana w dowolnej jednostce Odstęp między literami letter-spacing Wartoś podawana w dowolnej jednostce 47

Własności elementów w CSS Tekst Białe znaki white-space Wartości: normal - zamiana kilku sąsiadujących ze sobą spacji na jedną; wiersze są przełamywane automatycznie na końcu szerokości strony (domyślnie), pre - umożliwia wyświetlenie wielu spacji obok siebie; wiersze są przełamywane po napotkaniu znaku nowej linii - klawisz Enter (tekst preformatowany), nowrap - tryb identyczny jak "normal" z tym, że nie pozwala na przełamanie wiersza (przejście do następnej linii), aż do napotkania znacznika <br />, pre-wrap - (CSS 2.1) pozwala wyświetlić kilka sąsiadujących spacji; wiersze są przełamywane po napotkaniu znaku nowej linii - klawisz Enter - oraz automatycznie na końcu szerokości strony (Opera 7.5), pre-line - (CSS 2.1) jak wyżej z tym, że sąsiadujące spacje są zamieniane na jedną 48

Własności elementów w CSS Tło Kolor background-color Wartości: kolor w postaci identycznej jak np. dla czcionek Tło obrazkowe background-image selektor { background-image: url (sciezka)} Powtarzanie tła obrazkowego background-repeat Wartości: ścieżka podawana wzgldem dokumentu CSS Wartości: repeat - powtarzanie tła w obu kierunkach (domyślnie), repeatx - powtarzanie tła tylko w kierunku poziomym, repeat-y - powtarzanie tła tylko w kierunku pionowym, no-repeat - brak powtarzania tła (zostanie wyświetlone jako pojedynczy obrazek) Pozycja background-position 1 wartość: center - obrazek na środku (w centrum), left - obrazek po lewej, right - po prawej, top - na górze, bottom - na dole, jednostka długości - odległość od lewej krawędzi 2 wartości: left top, left bottom, right top, right bottom lub dwie jednostki długości, z których pierwsza oznacza odległość od lewej krawędzi, a druga - od górnej 49

Własności elementów w CSS Tło Zaczepienie background-attachment Wartości: scroll - przewijanie tła (domyślnie), fixed - tło nieruchome Atrybuty mieszane background 50

Model pudełkowy Źródło: http://www.w3.org/tr/css2/box.html#box-dimensions Każdy element składa się z czterech części (3 pierwsze opcjonalne): Margines (margin) zawsze transparentny Obramowanie (border) Marginesy otaczające (padding) Zawartość (content) 51

Model pudełkowy - marginesy Właściwości marginesów: margin-top, margin-bottom, margin-left, margin-right, margin Wartości: wartość bezwzględna, procentowa lub auto. Właściwości marginesów otaczających: padding-top, padding-bottom, padding-left, padding-right, padding Wartości: wartość bezwzględna lub procentowa. 52

Model pudełkowy - obramowanie Szerokość: border-top-width, border-bottom-width, border-left-width, borderright-width, border-width Wartości: thin, medium, thick lub wartośc bezwzględna. Kolor: border-top-color, border-bottom-color, border-left-color, borderright-color, border-color Wartości: kolor Styl: border-top-style, border-bottom-style, border-left-style, borderright-style, border-style Wartości: none, solid, double (podwójna ciągła), dotted, dashed, groove, ridge, inset, outset. Ogólne: border-top, border-bottom, border-left, border-right, border 53

Wizualizacja Właściwość elementów; display określa sposób wyświetlania Można zmieniać domyślny sposób wyświetlania dla wybranych elementów, np. nagłówki hx automatycznie są wyświetlane w nowej linii. Można to zmienić ustawiając parametr display np. na inline. none - element nie będzie wyświetlany block - element będzie wyświetlony w bloku (odstęp z góry i z dołu) inline - element będzie wyświetlony w linii (sąsiadująco z innymi) list-item - element wykazu: <li>...</li> marker - wyróżnik wykazu run-in (lub compact) - jeśli po elemencie następuje brat będący blokiem, element zostanie sformatowany jako "inline" (w linii) w ramach treści brata. W przeciwnym razie element zostanie sformatowany jako "block" inline-block - element zachowuje się podobnie jak element zastępowany table - tabela blokowa: <table>...</table> inline-table - tabela "inline": <table>...</table> 54

Właściwość display cd. p em li img table-row-group - grupa wierszy tabeli: <tbody>...</tbody> table-header-group - nagłówek tabeli: <thead>...</thead> table-footer-group - stopka tabeli: <tfoot>...</tfoot> table-row - wiersz tabeli: <tr>...</tr> table-column-group - grupa kolumn tabeli: <colgroup>...</colgroup> table-column - kolumna tabeli: <col /> table-cell - komórka tabeli: <td>...</td>, <th>...</th> table-caption - tytuł (podpis) tabeli: <caption>...</caption> { { { { display: display: display: display: block } inline } list-item } none } /* Nie wyświetlaj obrazka */ 55

Właściwość positions Wartości static przywraca normalne pozycjonowanie elementu relative przesuwanie elementu w dowolną stronę względem jego położenia spoczynkowego absolute umieszczanie elementu w określonym położeniu fixed podobnie jak absolute; selektor { position: relative; parametry } selektor { position: absolute; parametry } selektor { position: fixed; parametry } Parametry: left: wartość right: wartość top: wartość bottom: wartość - odległość od lewej krawędzi położenia spoczynkowego - prawej - od góry - od dołu Wartości mogą być ujemne. Można podawać kombinacje parametrów. 56

MENU w CSS Tworzymy listę zawierającą poszczególne składniki menu uzuwając znacznika <ul>. Wiecej zmian w dokumencie HTML nie dokonujemy. <html> <head> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2"> </head> <body> <ul> <li><a href="http://www.wp.pl">wirtualna Polska</a></li> <li><a href="http://www.onet.pl">onet</a></li> <li><a href="http://wi.pb.edu.pl">wydział Informatyki PB </a></li> <li><a href="http://www.linux.org">linux</a></li> <li><a href="http://pl.wikipedia.org">wikipedia</a></li> </ul> </body> </html> Wynikiem jest zwykła lista nienumerowana 57

MENU w CSS Przedefiniowanie znacznika <ul> oraz <li> w CSS Usunięcie znaku wypunktowania Zlikwidowanie marginesów ul, ul li { display: block; list-style: none; margin: 0; padding: 0; } Przedefiniowanie <a> znajdującego się wewnątrz <ul> Usunięcie podkreślenia Określenie szerokości (np. 200 pikseli) jest to obszar klikania ) ul a { display: block; text-decoration: none; width: 200px; } 58

MENU w CSS Zmiana koloru tekstu ul a { display: block; width: 200px; text-decoration: none; background-color: #F00; color: #FFF; } Dodanie obramowania (trzeba dodać koniecznie padding) ul a { display: block; width: 200px; text-decoration: none; background-color: #F00; color: #FFF; padding: 1px; border: 6px outset #0F0; } 59

MENU w CSS Zmiana dekoracji dla linków odwiedzonych ul a { display: block; width: 200px; text-decoration: none; background-color: #F00; padding: 1px; border: 6px outset #0F0; } ul a:link { color: #000; } ul a:visited { color: #555; } 60

MENU w CSS Zmiana dekoracji dla linków najechanych (hover) ul a { display: block; width: 200px; text-decoration: none; background-color: #F00; padding: 1px; border: 6px outset #0F0; } ul a:link { color: #000; } ul a:visited { color: #555; } ul a:hover { border: inset #0A0; padding: 4px 2px 2px 1px; width: 198px. } 61

MENU Poziome w CSS Zmiana display na inline ul, ul li { display: block; list-style: none; margin: 0; padding: 0; } ul li { display: inline; width: 200px; text-decoration: none; background-color: #F00; padding: 1px; border: 6px outset #0F0; white-space: nowrap; /*zeby przełamanie występowało tylko pomiędzy elementami, a nie wewnątrz nich*/ /* float: left */ } Skąd biorą się te przerwy pomiędzy elementami? Elementy inline traktowane są jako tekst, a więc każdy znak końca linii, występujący w dokumencie HTML, występujący pomiędzy znacznikiem zamykającym </li> oraz kolejnym <li> jest zamieniany na spację. Jak zliwidować? </li><li> lub float:left 62

Szablony stron z wykorzyst. DIV Dlaczego szablony oparte o DIV są lepsze od tych opartych na tabelach? Możliwość tworzenia skórek, np. z okazji różnego rodzaju świąt Łatwość przemieszczanie elementów składowych strony, np. zamiana kolumn z lewej na prawą lub dodanie/usunięcie kolumny. Dopracowane elementy DIV mogą być wykorzystywane przy budowie kolejnych witryn. Łatwość tworzenie innych wersji dla urządzeń przenośnych (palmtopy, komórki). W prosty sposób można przygotować format wydruku strony. Mniejsza objętość serwisu co skraca czas jego ładowania. 63

Co chcemy osiągnąć BANER REKLAMOWY MENU POZIOME ME NU PIO NO WE TREŚĆ RE KLA MY STOPKA 64

DIV dokument HTML <html> <head> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2"> </head> <body> <div id="main"> <div id="baner_reklamowy">super reklamy</div> <div id="menu_poziome">menu poziome</div> <div id="menu_pionowe">menu pionowe</div> <div id="tresc">bardzo ciekawa treść serwisu</div> <div id="stopka">stopka</div> </div> </body> </html> 65

DIV body, html Ustawienie domyślnego tła, koloru tekstu, marginesu itd. html, body { background-color: #fff; color: #000; margin-top: 10px; padding: 0; } 66

Kontener DIV-ów Ustawienie parametrów dla kontenera DIV-ów Np. optymalizacja strony dla rozdzialczości 800x600, wypośrodkowa, z domyślnym jasnoszarym tłem #main { background-color: #eee; width: 780px; margin:auto; } 67

Baner reklamowy Baner z odnośnikiem na stornę Wydziału Informatyki PB o wysokości 150px dodanie linka do div-a w dokumencie HTML <div id="baner_reklamowy"><a href="http://wi.pb.edu.pl">super reklamy </a> </div> Wstawienie obrazka o nazwie wipb.png, ustalenie wysokości na 150px Dodatkowo na cały obszar obrazka rozciągamy znacznik <a> #BANER_REKLAMOWY a { display:block; height: 150px; } #BANER_REKLAMOWY { background-image: url(wipb.png); height: 150px; } 68

Baner reklamowy 69

Menu poziome <div id="menu_poziome"><ul> <li><a href="http://www.wp.pl">wirtualna Polska</a></li> <li><a href="http://www.onet.pl">onet</a></li> <li><a href="http://wi.pb.edu.pl">wydział Informatyki PB</a></li> <li><a href="http://www.linux.org">linux</a></li> <li><a href="http://pl.wikipedia.org">wikipedia</a></li> </ul></div> ul, ul li { display: block; list-style: none; margin: 0; padding: 0; } #MENU_POZIOME ul li { display: inline; width: 156px; text-decoration: none; background-color: #F00; white-space: nowrap; float: left; } #MENU_POZIOME ul a { display: block; width: 156px; } 70

Menu poziome 71

Menu pionowe <div id="menu_poziome"><ul> <li><a href="http://www.wp.pl">wirtualna Polska</a></li> <li><a href="http://www.onet.pl">onet</a></li> <li><a href="http://wi.pb.edu.pl">wydział Informatyki PB</a></li> <li><a href="http://www.linux.org">linux</a></li> <li><a href="http://pl.wikipedia.org">wikipedia</a></li> </ul></div> #MENU_PIONOWE ul li { display: block; width: 150px; height: 30px; text-decoration: none; padding: 1px; border: 1px outset #0F0; white-space: nowrap; float: left; } #MENU_PIONOWE { width: 150px; font-size: 10pt; float: left; overflow: hidden; background-color: #ccc; } #MENU_PIONOWE ul a { display: block; width: 150px; color: 000; } 72

Menu pionowe 73

Treść dokumentu <div id="tresc"> Historia PB </div> #TRESC { width: 630px; float: left; overflow: hidden; background-color: #fff; } 74

Treść dokumentu 75

Stopka #STOPKA { clear: both; width: 100%; backgroundcolor: yellow; } Width 100% nie jest obowiązkowe clear: both wyczyszczenia przylegania do lewej strony, głownie ze względu na środkowy element. 76

O czymś zapomnieliśmy? Zapomnieliśmy o dodaniu obszaru z reklamami z prawej strony!!!! W przypadku szablonu opartego o tabele, byłoby to dosyć skomplikowane zadanie. BANER REKLAMOWY MENU POZIOME ME NU PIO NO WE TREŚĆ RE KLA MY STOPKA 77

Reklamy W dokumencie HTML dodajemy element DIV (pomiędzy TRESC a STOPKA) <div id="reklamy">reklamy</div> W CCS dodajemy formatowanie Należy pamiętać o zredukowaniu szerokośći TRESC o szerokość REKLAMY #REKLAMY { background-color: orange; width: 100px; float: right; } 78

Reklamy 79