TECHNIKI WWW (WFAIS.IF-C125) (zajęcia r. i r.) 1) Podstawowa struktura dokumentu hipertekstowego HTML - przypomnienie

Podobne dokumenty
TECHNIKI WWW (WFAIS.IF-C125) (zajęcia r.)

W ogólności znaczniki mogą również posiadać atrybuty które pozwalają wpływać i manipulować własnościami znaczników lub przenosić dodatkowe informacje:

Znaczniki języka HTML

Responsywne strony WWW

CSS - layout strony internetowej

Dokument hipertekstowy

Laboratorium 1: Szablon strony w HTML5

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

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

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

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

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

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.

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

Języki programowania wysokiego poziomu. CSS Wskazówki

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

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

za pomocą: definiujemy:

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

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.

Technologie Informacyjne

2. MATERIAŁ NAUCZANIA

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

Układy witryn internetowych

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

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

HTML (HyperText Markup Language)

Kaskadowe arkusze stylów cz. 2

Programowanie WEB PODSTAWY HTML

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

Alfabetyczna lista stylów

Tworzenie stron internetowych w kodzie HTML Cz 5

I. Wstawianie rysunków

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

Podstawy pozycjonowania CSS

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

Podstawowe znaczniki języka HTML.

Języki programowania wysokiego poziomu. HTML cz.2.

Dokument hipertekstowy

Model blokowy. Model blokowy w CSS

Tworzenie Stron Internetowych. odcinek 8

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

I. Formatowanie tekstu i wygląd strony

RESPONSYWNE INTERFEJSY. Klasy urządzeń klienckich Responsywne style CSS. Waldemar Korłub

Powtórzenie materiału: CSS3 Spis treści

Mailingi HTML. Specyfikacja techniczna

CSS. Kaskadowe Arkusze Stylów

Bootstrap. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Sierpień 2015 rozwiązanie plik: index.htlm

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

Za pomocą atrybutu ROWS moŝemy dokonać podziału ekranu w poziomie. Odpowiedni kod powinien wyglądać następująco:

Specyfikacja techniczna dot. mailingów HTML

Przedmiot: Grafika komputerowa i projektowanie stron WWW

Witryny i aplikacje internetowe

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

TECHNIKI WWW (WFAIS.IF-C125) (zajęcia r.)

RESPONSYWNE INTERFEJSY. Klasy urządzeń klienckich Responsywne style CSS. Waldemar Korłub


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

Elementy div i style CSS w praktyce

Często używanym elementem języka HTML są tabele, które wykorzystuje się do wygodnego rozmieszczania informacji i obrazów.

Wykład 5_2 Arkusze stylów dziedziczenie. Technologie internetowe Zofia Kruczkiewicz

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

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

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: Wersja: 1.

Projektowanie aplikacji internetowych. CSS w akcji

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

Systemy internetowe HTML + CSS - dodatki

Arkusze styli zwi kszaj kontrol nad wygl dem strony, poprzez zastosowanie szeregu opcji przypisywanych do danych elementów samego HTML'a.

Czcionki. Rodzina czcionki [font-family]

HTML 1. Gimnazjum nr 1 w Barcinie gimbarcin.pl

Studia Podyplomowe Grafika komputerowa i Techniki Multimedialne, 2015, semestr II, dr inż. Robert Banasiak Projektowanie Stron WWW.

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

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

I. Pozycjonowanie elementów

Inwestycja - kompleks dwóch budynków mieszkalnych wielorodzinnych

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

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH

Wykorzystano fragmenty wykładów dra inż. J. Kuchty ARKUSZE STYLÓW CSS. Dokumenty cyfrowe KASK ETI Politechnika Gdańska.

Arkusze stylów CSS Cascading Style Sheets

Jednostki miar stosowane w CSS

Marginesy, dopełnienia i obramowanie

HTML podstawowe polecenia

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

STRONY INTERNETOWE mgr inż. Adrian Zapała

Kaskadowe arkusze stylów (CSS)

Krok 1: Stylizowanie plakatu

Cel ogólny lekcji: Wprowadzenie dodatkowych znaczników. Wprowadzenie odsyłacza, tabeli, listy numerowanej i wypunktowanej.

Rozwiązania zadań EGZAMINACYJNYCH- WITRYNY

Elementarz HTML i CSS

Tworzenie stron internetowych w oparciu o język HTML

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

Systemy internetowe Wykład 2 CSS

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Odsyłacze. Style nagłówkowe

I. Dlaczego standardy kodowania mailingów są istotne?

CSS jest is an skrótem od Cascading Style Sheets (Kaskadowe Arkusze Stylów).

7. Jak nazywa się program, który wykonuje instrukcje zawarte w kodzie źródłowym tworzonego programu bez uprzedniego generowania programu wynikowego?

Transkrypt:

TECHNIKI WWW (WFAIS.IF-C125) (zajęcia 25.10.2017 r. i 8.11.2017 r.) 1) Podstawowa struktura dokumentu hipertekstowego HTML - przypomnienie <!DOCTYPE html> <html lang="pl"> <head> <title>witamy w HTML 5</title> <meta charset="utf-8" /> <style rel="stylesheet"> article, aside, nav {display: block;} article, aside {float: left;} article {width: 500px;} nav {width: 200px;} </style> </head> <body> <!-- Tutaj będą m.in. nowe elementy HTML 5 --> <article> <header> <img alt="html 5" src="logo-small.gif" width="200" height="40" /> <h1>witamy w HTML 5</h1> </header> <p style="font-family: Arial;"> <span class="html">html 5</span> oferuje wiele nowych możliwości. Jednak minie trochę czasu, zanim możliwości te będą w pełni dostępne. </p> <footer> <small> Projekt HTML 5</small> </footer> </article> <aside> <h2>polecane linki</h2> <nav> <ul> <li><a href="#">strona główna</a></li> <li><a href="#">o witrynie</a></li> <li><a href="#">projekt</a></li> <li><a href="#">wiadomości</a></li> <li><a href="#">kontakt</a></li> </ul> </nav> </aside> </body> </html>

2) Formatowanie tekstu: Typy czcionek: font-family: serif, Arial, Helvetica, etc Rozmiary czcionek: font-size: xx-small x-small small medium large x-large xx-large larger smaller n_pt n_px Przykład: font-size: 50px; Parametry formatowania tekstu i bloków dopuszczalne w arkuszach stylów Charakterystyka font-family font-size font-weight font-style font-variant color background-attachment Znacze nie Rodzina czcionek Wielkoś ć czcionki Grubość czcionki Styl czcionki Odmian a czcionki Kolor czcionki. Połącze nie z tłem Opis i możliwe wartości Kroje czcionek dostępne w przeglądarkach. Jeśli dany krój nie występuje, używana jest czcionka domyślna. Dowolna wartość w punktach [pt], calach [in], centymetrach [cm] albo w pikselach [px]. Dodatkowo dopuszczalne są wartości: larger, smaller, xx-small, x-small, small, medium, large, x-large, xx-large. Dopuszczalna jest również wartość procentowa względem rozmiaru czcionki macierzystej [%]. Dopuszczalne wartości: normal, bold, bolder, lighter. Dopuszczalne wartości: normal, italic (kursywa), oblique (skośna). Dopuszczalne wartości: normal, small-caps. Jeden z predefiniowanych kolorów lub kod heksadecymalny RGB. Obraz przewija się razem z zawartością: scroll; obraz tła pozostaje nieruchomy: fixed. background-color Kolor tła Przezroczyste tło: tranparent; jeden z predefiniowanych kolorów lub kod heksadecymalny RGB. background-image Obrazek tła Żaden obrazek: none; adres URL obrazka. 1

background-repeat border-color border-style border-bottom-width border-left-width border-right-width bottom-top-width float padding-bottom padding-left padding-right Powtarz anie tła Kolor Styl Szeroko ść dolnej Szeroko ść lewej Szeroko ść prawej Szeroko ść górnej Przesuni ęcie Odstęp od dolnej Odstęp od lewej Odstęp od Powtarzanie tła tylko w kierunku poziomym: repeat-x; powtarzanie tła tylko w kierunku pionowym: repeat-y; powtarzanie tła w obu kierunkach: repeat; nie powtarza tła: no-repeat. Jeden z predefiniowanych kolorów lub kod heksadecymalny RGB. żadna krawędź: none; linia przerywana: dashed; linia kropkowana: dotted; linia ciągła: solid; linia podwójna: double; wyżłobione: groove; wypukłość: ridge; wkładka: insert; wypustka: outset. Cienka: thin; średnia: medium; dowolna liczba punktów [pt], cali [px]. Cienka: thin; średnia: medium; dowolna liczba punktów [pt], cali [px]. Cienka: thin; średnia: medium; dowolna liczba punktów [pt], cali [px]. Cienka: thin; średnia: medium; dowolna liczba punktów [pt], cali [px]. Przesuwa ustawianą zawartość do w lewo: left, w prawo: right albo nie przesuwa: none. Dowolna liczba punktów [pt], cali [px]; procent szerokości elementu nadrzędnego [%]. Dowolna liczba punktów [pt], cali [px]; procent szerokości elementu nadrzędnego [%]. Dowolna liczba punktów [pt], cali 2

padding-top text-align text-decoration text-indent text-transform line-height letter-spacing word-spacing margin-left margin-right margin-top prawej Odstęp od górnej Wyrówn anie tekstu Efekty dodatko we Wcięcie tekstu Przekszt ałcenie tekstu Wysoko ść wiersza Rozstaw liter Odstępy miedzy wyraza mi Lewy margine s Prawy margine s Górny margine [px]; procent szerokości elementu nadrzędnego [%]. Dowolna liczba punktów [pt], cali [px]; procent szerokości elementu nadrzędnego [%]. Lewostronny: left; wyśrodkowany: center; prawostronny: right; wyjustowany: justify. Żadne: none; podkreślenie: underline; linia nad tekstem: overline; przekreślenie: line-through; miganie: blink. Dowolna liczba punktów [pt], cali [px]; procent szerokości elementu nadrzędnego [%]. Kapitaliki: capitalize; duże litery: uppercase; małe litery: lowercase; żadne: none. Normalna: normal; dowolna liczba punktów [pt], cali [in], centymetrów [cm] albo pikseli [px]; procent wartości rozmiarów czcionki [%]. Normalny: normal; dowolna liczba punktów [pt], cali [in], centymetrów [cm] albo pikseli [px]. Normalny: normal; dowolna liczba punktów [pt], cali [in], centymetrów [cm] albo pikseli [px]. Automatyczny: auto; dowolna liczba punktów [pt], cali [in], centymetrów [cm] albo pikseli [px]; procent wartości z szerokości elementu nadrzędnego [%]. Automatyczny: auto; dowolna liczba punktów [pt], cali [in], centymetrów [cm] albo pikseli [px]; procent wartości z szerokości elementu nadrzędnego [%]. Automatyczny: auto; dowolna liczba punktów [pt], cali [in], 3

margin-bottom vertical-align s Dolny margine s Wyrówn anie w pionie centymetrów [cm] albo pikseli [px]; procent wartości z wysokości elementu nadrzędnego [%]. Automatyczny: auto; dowolna liczba punktów [pt], cali [in], centymetrów [cm] albo pikseli [px]; procent wartości z wysokości elementu nadrzędnego [%]. Do linii bazowej: baseline; do góry: top; do góry tekstu: text-top; do środka: middle; do dołu tekstu: text-bottom; procentowa wartość bieżącej szerokości wiersza [%]; do wysokości indeksu dolnego: sub; do wysokości indeksu górnego: super. 3) Tworzenie menu za pomocą listy uporządkowanej. Aby stworzyć menu można do tego celu wykorzystać listę uporządkowaną <ul> wraz z zastosowaniem odnośników - hiperłączy <a>. Najprostsza konstrukcja: <ul id="menu"> <li><a href="http://www.onet.pl"> Hiperłącze do Onet.pl </a></li> <li><a href="http://www.wp.pl"> Hiperłącze do Wp.pl </a></li> <li><a href="http://www.gazeta.pl"> Hiperłącze do Gazeta.pl </a></li> </ul> W ten prosty sposób powstaje najprostsze menu z odnośnikami do innych stron. Aby lepiej wyglądało można go stylizować za pomocą CSS. Aby stylizować musimy stylizować element <ul>, <li> oraz <a> które składają się na najprostsze menu. Tu o marginesach na stronie - model pudełkowy: - margines zewnętrzny: margin u b l r; margin-left: 10px; - obramowanie: ramka: border: width style color; border-style: solid; border-color: #XXXXXX; border-width: 10px; border-top-style: dashed; border-bottom-color: #XXXXXX; border-left-width: 2px; - margines wewnętrzny: padding: u b l r; padding-right: 2px; Ważniejsze cechy: list-style: none; -> zmiana puntorów na liście <li> display: block; -> jak przeglądarka ma wyświetlać elementu: blok tekstu, linia tekstu, element listy. Możliwe wartości: block, inline, none (w tym kontekście visibility:hidden;). text-decoration: none; - brak podkreślenia odnośnika. Podobnie tworzymy menu poziome: z tą różnicą że elementom <li> musimy nadać własność float:left; (right, none). To powoduje że elementy z tą cechą będą dryfować w zdefiniowaną stronę. 4

4) Podstawowe szablony: W kontekście modelu pudełkowego oraz używania szablonu strony można posłużyć się podstawowym szablonem dostępnym pod adresem: - Przykład stworzenia menu wraz z arkuszem stylów: http://koza.if.uj.edu.pl/~marcin/twww1718/e/index1.html - Przykład szablonu kompletnej strony: http://koza.if.uj.edu.pl/~marcin/twww1718/e/index2.html 5) Model pudełkowy / przykład strony z nagłówkiem, sidebarem i stopką. Mamy już menu teraz można zrobić szkielet strony w oparciu o <div>. Zwykle do budowy stron używamy elementów blokowych <div>. <div style="clear:both;"></div> Aby uniknąć tego efektu pływania z opcji float należy jakiemuś elementowi za elementem z float nadać właściwość clear powoduje ona ponowne złączenie float z biegiem dokumentu. left dany element będzie przesunięty poniżej wszystkich z float:left, ale pozwoli na opływanie go z prawej. right element będzie przesunięty poniżej wszystkich z float:right, ale pozwoli na opływanie go z lewej. both element będzie przesunięty poniżej wszystkich poprzedzających go floatów none Domyślna wartość oznaczająca brak wpływu na floaty (wyłącza działanie clear ). 6) Jeszcze na temat selektorów i reguł w CSS: a) selektor uniwersalny: * {cecha: wartość;} * { color:red; } Stosuje się często do resetowania np paddingów i marginesów na początku dokumentu: * { margin:0 ; padding: 0; } b) selektor potomka: zadziała tylko jeśli <span> jest potomkiem <div>. Potomek znaczy znajduje się w tym selektorze na dowolnym poziomie zagnieżdżenia (potomek w dowolnym pokoleniu). div span { color:red; 5

} <div> <span> tttt </span> </div> <div> <p> <span> ttt </span> </p> </div> <p> <span> tekst 3 </span></p> c) selektor dziecka: zadziała tylko dla pierwszego zagnieżdżania: div > span { color: green; } Może być zbudowany z większej ilości selektorów: div > p > span {} d) Selektor brata: obejmuje swoim działaniem jeden selektor znajdujący się bezpośrednio za danym selektorem: div + span { color: blue; } <div> </div> <span> text </span> Można również składać selektor braci: div + p + span { color: red;} <div> </div> <p> </p> <span> xxxx </span> e) selektor braci: zadziała dla wszystkich elementów danego typu za danym selektorem: div ~ span { color: red;} <div> </div> <span> czerwony </span> <span> czerwony</span> <span>czerwony</span> <div> <span> czarny </span></div> <span> czerwony </span> <div> <p> <span> czarny </span></p> </div> --------------------------- Selektory atrybutów: 6

a) selektor atrybutu: selektor[atrybut] {cecha: wartość;} div[title] {color:red;} <div title="www"> czerwony </div> <p title="www"> czarny </p> lub [atrybut] {cecha: wartosc;} [title] {color:red;} <div title="www"> czerwony </div> <p title="www"> czerwony </p> b) selektor atrybutu z wartością: selektor[atrybut= wartość ] {cecha: wartosc;} [atrybut= wartość ] {cecha: wartosc;} [title="www"] { color: red; } <div title="www"> tttttt </div> <p title="qqq"> kkk </p> c) selektor dla atrybutu zawierającego dany wyraz: selektor[atrybut~= wartość ] {cecha: wartosc;} [atrybut~= wartość ] {cecha: wartość;} [title~="www"] { color: red;} <div title="www"> tttttt </div> <p title="www qqq"> kkk </p> d) selektor atrybutu z wyrazem z myślnikiem (łącznikiem): selektor[atrybut = wartość ] {cecha: wartosc;} [atrybut = wartość ] {cecha: wartość;} [title ="www"] { color: red; } <div title="www-kkkkkkk"> tttttt </div> 7

<p title="www-qqq"> kkk </p> <p title="www-ddd qqq"> kkk </p> e) selektor atrybutu zawierający dany ciąg znaków: selektor[atrybut*= wartość ] {cecha: wartość;} [atrybut*= wartość ] {cecha: wartość;} [title*="www"] { color: red; } <div title="ww-kkkkkkk"> tttttt </div> <p title="www-qqq"> kkk </p> <p title="kkkkkk kkkww-ddddddqqq"> kkk </p> f) selektor atrybutu którego wartość zaczyna się od konkretnego ciągu znaków: selektor[atrybut^= wartość ] {cecha: wartosc;} [atrybut^= wartość ] {cecha: wartość;} [title^="www"] { color: red; } <div title="www-kkkkkkk"> tttttt </div> <p title="www-qqq"> kkk </p> <p title="kkkkkk kkkww-ddddddqqq"> kkk </p> g) selektor atrybutu którego wartość kończy się na dany ciąg znaków: selektor[atrybut$= wartość ] {cecha: wartosc;} [atrybut$= wartość ] {cecha: wartosc;} [title$="www"] { color: red; } <div title="www-kkkkkkkwww"> tttttt </div> <p title="www-qqq www"> kkk </p> <p title="kkkkkk kkkww-ddddddqqq"> kkk </p> i) łączenie ze sobą warunków na kilka atrybutów dla bardziej precyzyjnego wyboru treści której chcemy nadać odpowiednie wartości: selektor[atrybut][atrybut] {cecha: wartość;} [atrybut][atrybut] {cecha: wartość;} [title$="www"][lang="pl"] { color: red; 8

} <div title="www-kkkkkkkwww" lang="pl"> tttttt </div> <div title="www-kkkkkkkwww" lang="en"> tttttt </div> <p title="www-qqq www"> kkk </p> --------------------------------- Selektory pseudoelementów: Czasem zachodzi potrzeba dostępu do określonych elementów na każdej stronie ale do których nie da się bezpośrednio odnieść: np. pierwsza litera, pierwsza linijka etc. Możnaby by za każdym razem kiedy chcemy stylizować pierwsza linijke np obejmować ją elementem span i stylizować ten element ale jest to czasochłonne. Można je również wykorzystać do dodawania konkretnej treści. Ale aby rozwiązać ten problem można użyć tzw. pseudo-elementów: a) zacznijmy od pierwszej linii: first-line selektor:first-line { color: red; } :first-line { color: red; } Można z jednym dwukropkiem też zadziałą ale dla odróżnienie od pseudo-klas lepiej pisać z dwoma dwukropkami. b) podobnie można zastosować: first-letter selektor:first-letter{ color: red; } :first-letter { color: red; } c) pseudo element: before - dodaje tekst do każdego elementu określonym selektorem: div:before {content:" --Dodaj ten tekst --"; color: red; } d) podobny efekt możemy osiągnąć za pomocą: after div:after {content:" --Dodaj ten tekst --"; color: red; } e) zaznaczenie (nie działa we wszystkich przeglądarkach np. dopiero w IE9): div::selection { color:red; } wtedy zaznaczające tekst myszką powinien być on podświetlony na czerwono. 9

7) Wstęp do Mediaqueries i Bootstrap W standardzie CSS3 dostępne są selektory pozwalające nie tylko na wybór konkretnych elementów ze struktury strony, ale również na wybór własności fizycznych na których dana strona będzie wyświetlana. Pozwala to na tworzenie serwisów graficznie dostosowanych do szerokości ekranów na których dana strona ma zostać wyświetlona. Podstawowy przykład użycia selektora mediaqueries wygląda następująco: @media media-type { selector { cecha: wartość; } } Czyli w hierarchii struktury CSS normalny selektor CSS jest dodatkowo otoczony selektorem mediaqueries. W podanym selektorze media-type oznacza typ urządzenia/urządzeń dla których ma obowiązywać dany selektor: all aural braille embossed handheld print projection screen tty tv Dla wszystkich urządzeń. Dla syntezatorów mowy i dźwięku. Dla urządzeń którymi posługują się niewidomi w celu przeglądania stron internetowych. Dla drukarki breilla. Dla urządzeń ręcznych bezprzewodowych. Dla drukarek / materiałów drukowanych. Dla projektorów ściennych. Dla komputerów z ekranem. Dla terminali z ograniczonymi możliwościami wyświetlania. Dla telewizorów. Przykładowo możemy spróbować stworzyć selektor który będzie zmieniał kolor tła dla konkretnego urządzenia: <style> @media screen { div { background-color:red; } } </style> Można również przygotować osobne pliki CSS dla każdego typu urządzenia i linkować je do głównej strony posługując się atrybutem media w znaczniku <link>: 10

<link media= tv,handheld href= tvmedia.css > <link media= screen href= screenmedia.css > Dla lepszego sterowania regułami media możemy posługiwać się atrybutami dodatkowy cechami sterującymi stosowaniem reguł np.: @media all and (min-width:480px) and (max-width:800px) { div { background-color:green; } } Definicja określona powyżej mówi przeglądarce że tło elementu <div> ma zostać ustawione na kolor zielony na wszystkich typach urządzeń tylko wtedy gdy szerokość okna przeglądarki będzie zawierać się w przedziale od 480px od 800px. Przykład zmodyfikowanego szablonu strony który dostosowuje się w zależności od dostępnej szerokości ekranu dostępny jest pod adresem: http://koza.if.uj.edu.pl/~marcin/twww1718/e/index3.html W przykładzie tym stworzona dwa pliki CSS które obsługują różne szerokości ekranu. Zostały włączone za pomocą linkowania i atrybutu media : <link href="xstyle.css" rel="stylesheet" media="screen and (min-width: 1024px)"> <link href="mstyle.css" rel="stylesheet" media="screen and (max-width: 1023px)"> Biblioteka Bootstrap (a właściwie Twitter Bootstrap) jest zestawem gotowych wzorców i elementów CSS które służą do budowy responsywnych (RWD) stron internetowych. Adres strony projektu to: http://getbootstrap.com/ Obecna wersja produkcyjna to 3.3.7. Niebawem ukaż się wersja 4.0.0 a) Włączenie biblioteki do własnego kodu Biblioteka Bootstrap składa się z kilku elementów. Aby jej użyć na własnej stronie internetowej należy pobrać pakiet zawierający wszystkie niezbędne pliki: https://github.com/twbs/bootstrap/releases/download/v3.3.7/bootstrap-3.3.7-di st.zip Lub można dla lepszej efektywności własnej witryny dołączyć pliki z serwera CDN: <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-bvyiisifek1dgmjrakycuhahrg32omucww7on3rydg4va+pmstsz/k68vbdejh4u" 11

crossorigin="anonymous"> Potrzebne są również biblioteki JavaScript samego Bootstrapa oraz biblioteki jquery: <script src=" https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js "></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-tc5iqib027qvyjsmfhjomalkfuwvxzxupncja7l2mcwnipg9mgcd8wgnicpd7txa" crossorigin="anonymous"></script> Druga wersja pozwala na przyspieszenie ładowania strony ponieważ obciążamy nasz własny serwer, a po drugie możliwe że już odwiedzaliśmy stronę która korzysta z biblioteki Bootstrap i odpowiednie pliki mamy już w pamięci cache naszej przeglądarki. Przykładowy szablon strony wygląda następująco: <!DOCTYPE html> <html lang="pl"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>bootstrap 101 Template</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-bvyiisifek1dgmjrakycuhahrg32omucww7on3rydg4va+pmstsz/k68vbdejh4u" crossorigin="anonymous"> </head> <body> <h1>hello, world!</h1> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-tc5iqib027qvyjsmfhjomalkfuwvxzxupncja7l2mcwnipg9mgcd8wgnicpd7txa" crossorigin="anonymous"></script> </body> </html> b) Struktura siatki w Bootstrap: Biblioteka Bootstrap ma ułatwiać tworzenia responsywnych ale stron internetowych, które będą wyświetlać się na dowolnym urządzeniu (PC, smartphone, tv etc). Dla realizacji tego celu Bootstrap wprowadza system tzw. Gridu (siatki) która dzieli obszar okna przeglądarki na 12 kolumn i dowolną ilość wierszy. Dzięki temu jest możliwe stworzenie czterech niezależnych widoków na najpopularniejsze szerokości ekranu. Do tego celu wykorzystywana jest klasa podstawowa container. Ma ona cztery możliwości dopasowania się do urządzenia: - Dla szerokości ekranu poniżej 768px, klasa container ustawia automatyczną szerokość dla elementu blokowego. - Dla szerokości powyżej 768px, klasa container ustawia 750px dla elementu blokowego. 12

- Dla szerokości powyżej 992px, klasa container ustawia 970px dla elementu blokowego. - Dla szerokości powyżej 1200 px, class container ustawia kontener na 1170px dla elementu blokowego. Podstawowy element na stronie klasy container powinien wyglądać następująco: <div class="container"> Treść strony </div> (Proszę za pomocą narzędzie Developerskiego wbudowanego w przeglądarkę sprawdzić czy faktycznie przedstawione wartości szerokości elementu blokowego są prawdziwe). Wróćmy do siatki Booststrap: system ten składa się z wierszy i kolumn w których umieszczane są poszczególne elementy strony. Wiersz pełni rolę lokalizatora poziomego elementów na stronie i powinien być umieszczony w następujący sposób w kontenerze: <div class="container"> <div class="row"> Treść strony </div> </div> Natomiast jak już wspomniano Bootstrap dzieli dostępną przestrzeń kontenera w ramach jednego wiersza na 12 kolumn. Po przekroczeniu tej liczby na wiersz kolejna kolumna przejdzie do nowej linii. Dzięki już wspomnianym sztywnemu podziałowi na poszczególne dostępne szerokości ekranu Bootstrap udostępnia 4 rodzaje kolumn: - Komputery PC (duże ekrany > 1200 px, dla tego typu urządzeń mamy dostępną klasę: col-l-*, gdzie zamiast gwiazdki możemy wstawić liczbę od 1-12, która oznacza liczbę kolumn. Kolumny te mają zadaną szerokość dla ekranów powyżej 1200 px. Natomiast jeśli szerokość będzie mniejsza to kolumny ustawią się jedna pod drugą. Należy jednak pamiętać, że w żadnym wypadku nie należy przekroczyć w sumie liczby 12. Tzn. że możemy mieć na stronie np. 1 kolumnę o szerokości 6 jednostek oraz 3 kolumny o szerokości 2 jednostki. W sumie jest to 12 jednostek. Przykładowo: <div class="container"> <div class="row"> 13

</div> <div class="row"> <div class="col-lg-6">.col-lg-6</div> <div class="col-lg-2">.col-lg-2</div> <div class="col-lg-2">.col-lg-2</div> <div class="col-lg-2">.col-lg-2</div> </div> </div> - Laptopy powyżej 992px: klasa col-md-* zasada jest ta sama co poprzednio (tutaj plusem jest to że ta klasa będzie działać również na PC). - Tablet powyżej 768px: klasa col-sm-*. - Smartphony poniżej 768px: klasa col-xs-*. Istotnym elementem systemu siatki jest możliwość przesuwania kolumn przez wprowadzenie tzw. Offsetu. Podobnie jak poprzednio dostępna jest klasa która przesuwa daną kolumnę o żądaną jednostkę (w ilości kolumn) dla zadanej szerokości ekranu: col-?-offset-*, gdzie? oznacza wybraną szerokość ekrany (lg, md, sm, xs), a gwiazdka liczbę kolumn o ile ma zostać przesunięta dana kolumna. Przykład: <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4 col-md-offset-4">.col-md-4 +.col-md-offset-4</div> </div> Przesuwamy druga kolumnę w stosunku do pierwszej o 4 jednostki, pamiętając cały czas że suma nie może przekroczyć 12. Wiersze i kolumny można zagnieżdżać. Należy przy tym pamiętać, że każdy nowy zagnieżdżony wiersz znów ma dostępne 12 kolumn które możemy podzielić i zagnieżdżać. Więcej informacji na temat siatki dostępnej jest w dokumentacji Bootstrap: http://getbootstrap.com/examples/grid/ Zadanie 1. Prosze stworzyć podstawowy szablon strony w Bootsrap i przetestować system siatki na wszystkie rozdzielczości. 14

3) Twitter Bootstrap - przykłady elementów graficznych - Wyrównanie tekstu w paragrafie: <p class="text-left">do lewej.</p> <p class="text-center">do środka.</p> <p class="text-right">do prawej</p> <p class="text-justify">tekst wyjustowany</p> - Przypis w tekście: <p> <abbr title="(zjawisko fotoelektryczne, fotoefekt, fotoemisja)"> Efekt fotoelektryczny </abbr> zjawisko fizyczne polegające na emisji elektronów z powierzchni przedmiotu, zwane również precyzyjniej zjawiskiem fotoelektrycznym zewnętrznym dla odróżnienia od wewnętrznego. </p> - Cytowanie w tekście: <blockquote> <p> </p> Efekt fotoelektryczny - zjawisko fizyczne polegające na emisji elektronów z powierzchni przedmiotu, zwane również precyzyjniej zjawiskiem fotoelektrycznym zewnętrznym dla odróżnienia od wewnętrznego. </blockquote> 15