You are on page 1of 60

Tytu oryginau: Responsive Web Design by Example

Tumaczenie: ukasz Piwko


ISBN: 978-83-246-9190-6
Copyright 2013 Packt Publishing.
First published in the English language under the title Responsive Web Design by Example.
Polish edition copyright 2014 by Helion S.A.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeone. Nieautoryzowane rozpowszechnianie caoci lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metod kserograficzn,
fotograficzn, a take kopiowanie ksiki na noniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki wystpujce w tekcie s zastrzeonymi znakami firmowymi bd towarowymi ich
wacicieli.
Autor oraz Wydawnictwo HELION dooyli wszelkich stara, by zawarte w tej ksice informacje byy
kompletne i rzetelne. Nie bior jednak adnej odpowiedzialnoci ani za ich wykorzystanie, ani za zwizane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponosz rwnie adnej odpowiedzialnoci za ewentualne szkody wynike z wykorzystania informacji
zawartych w ksice.
Wydawnictwo HELION
ul. Kociuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (ksigarnia internetowa, katalog ksiek)
Drogi Czytelniku!
Jeeli chcesz oceni t ksik, zajrzyj pod adres
http://helion.pl/user/opinie/reweno
Moesz tam wpisa swoje uwagi, spostrzeenia, recenzj.
Printed in Poland.
Kup ksik
Pole ksik
Oce ksik
Ksigarnia internetowa
Lubi to! Nasza spoeczno
Spis treci
O autorze 9
O recenzentach 11
Przedmowa 13
Zawarto ksiki 13
Co trzeba umie? 14
Dla kogo jest ta ksika? 14
Zastosowane konwencje 14
Czas na dziaanie 14
Quiz 15
Zrb to sam 15
Przykady kodu 16
Errata 16
Piractwo 16
Rozdzia 1. Koncepcja RWD 17
Podstawowy projekt elastyczny 18
Metaznacznik viewport i zapytania medialne CSS3 18
Ograniczenia technik elastycznych 20
Skalowalne obrazy w elemencie picture 20
Dowiedz si wicej o HTML5 i CSS3 23
Wprowadzenie do systemw RWD 24
Po co uywa systemw? 24
Kto uywa tych systemw? 26
Wady 30
Narzdzia potrzebne do budowy elastycznych stron internetowych 30
Przegldarki internetowe 30
Edytory kodu 31
Elastyczne skryptozakadki 31
Kup ksik Pole ksik
Spis treci
4
Krtkie wprowadzenie do preprocesorw CSS 32
Kompilatory kodu preprocesorw CSS 33
LESS 33
Sass, czyli Syntactically Awesome Stylesheets 39
Wicej o preprocesorach CSS 41
Materiay do nauki LESS 42
Materiay do nauki Sassa 42
Co utworzymy w tej ksice? 42
Podsumowanie 43
Rozdzia 2. Tworzenie elastycznego portfolio przy uyciu systemu Skeleton 45
Podstawy systemu Skeleton 46
Czas na dziaanie tworzenie katalogu roboczego i pobieranie systemu Skeleton 46
Co zawiera Skeleton? 46
Pocztkowy dokument HTML 47
Skalowalna siatka 48
Zwijanie kontenera 49
Zapytania medialne 50
Style typograficzne 51
Style przyciskw 51
Style formularzy 52
Ikony Applea 53
Szablon PSD 54
Jak ma wyglda budowana strona? 54
Nawigacja 56
Efekt hover 56
Tworzenie dokumentu w systemie Skeleton 56
Czas na dziaanie dodawanie nowego pliku CSS 57
Dodawanie wasnych fontw 58
Czas na dziaanie osadzanie fontw z serwisu Google Fonts 58
Przygotowywanie obrazw 59
Ikony mediw spoecznociowych 60
Czas na dziaanie spritey 61
Ikony kontaktowe 62
Elementy HTML5 63
Atrybuty danych HTML5 63
Czas na dziaanie konstruowanie dokumentu HTML 64
Podsumowanie 69
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3 71
Model polowy CSS 72
Wasno CSS3 box-sizing 73
Czas na dziaanie definiowanie wasnoci box-sizing 74
Jednostki miary CSS 74
Piksele 74
Jednostka em 76
Procenty 78
Kup ksik Pole ksik
Spis treci
5
Ustawianie rodziny fontw 78
Czas na dziaanie ustawianie rodziny fontw nagwkw 79
Formatowanie nagwka 80
Czas na dziaanie definiowanie stylw nagwka 80
Selektory CSS 81
Selektor dziecka 81
Selektor przylegajcego elementu siostrzanego 82
Oglny selektor elementu siostrzanego 83
Pseudoklasy CSS3 84
Pseudoklasa CSS3 :checked 84
Pseudoklasa CSS3 :nth-child 84
Style miniatur i podpisw 85
Czas na dziaanie definiowanie stylw miniatur i podpisw 86
Przeksztacenia dwuwymiarowe CSS 90
Funkcja translate() 91
Przejcia CSS3 93
Wartoci przej CSS3 93
Czas na dziaanie zmiana obrazu po najechaniu kursorem 94
Filtrujca nawigacja po stronie 97
Czas na dziaanie tworzenie filtra portfolio 98
Stopka 99
Czas na dziaanie formatowanie stopki 100
Definiowanie stylw dla mniejszych ekranw 105
Czas na dziaanie rozmiar obszaru widoku poniej 960 pikseli 106
Czas na dziaanie rozmiar obszaru widoku od 767 do 480 pikseli 107
Czas na dziaanie rozmiar obszaru widoku poniej 480 pikseli 109
Testowanie strony w rnych rozmiarach obszaru widoku 111
Podsumowanie 113
Rozdzia 4. Tworzenie strony produktu przy uyciu systemu Bootstrap 115
Wprowadzenie do systemu Bootstrap 116
Czas na dziaanie przygotowywanie systemu Bootstrap 116
Przygotowywanie grafik 117
Aplikacje LESS 119
Czas na dziaanie instalowanie aplikacji CrunchApp 119
Tworzenie plikw LESS 121
Czas na dziaanie tworzenie nowego pliku LESS w CrunchAppie 122
Kompilowanie kodu LESS na standardowy CSS 123
Czas na dziaanie dodawanie plikw LESS do CrunchAppa
i kompilowanie ich na CSS 124
Dodawanie wasnych rodzin fontw przy uyciu reguy @font-face 125
Gdzie w internecie szuka darmowych fontw? 125
Skadnia reguy @font-face 125
Formaty fontw dla rnych przegldarek internetowych 126
Czas na dziaanie definiowanie nowego fontu przy uyciu reguy @font-face 127
Kup ksik Pole ksik
Spis treci
6
Skalowalno systemu Bootstrap 128
Siatka systemu Bootstrap 128
Zapytania medialne CSS3 w systemie Bootstrap 129
Czas na dziaanie tworzenie nowego pliku LESS do przechowywania
zapyta medialnych CSS3 129
Tworzenie nawigacji w systemie Bootstrap 130
Tworzenie dokumentw HTML 131
Czas na dziaanie tworzenie podstawowych dokumentw HTML5 132
Quiz 136
Tre strony gwnej 136
Czas na dziaanie budowa struktury HTML treci strony gwnej 136
Tre strony galerii 140
Czas na dziaanie definiowanie struktury treci strony galerii 141
Tre strony kontaktowej 143
Czas na dziaanie definiowanie struktury treci strony kontaktowej 143
Strona O nas 147
Czas na dziaanie definiowanie struktury treci strony O nas 147
Strona o zasadach korzystania z serwisu 149
Czas na dziaanie definiowanie struktury treci strony o zasadach korzystania 149
Podsumowanie 150
Rozdzia 5. Ulepszanie strony produktu przy uyciu CSS3 i LESS 151
Zmienne LESS 152
Czas na dziaanie definiowanie zmiennych 152
Definiowanie domieszek LESS 154
Czas na dziaanie definiowanie wasnych domieszek LESS 154
Funkcje LESS do modyfikacji kolorw 155
Pojcie zakresu 156
Oglne reguy stylistyczne 157
Czas na dziaanie dodawanie oglnych regu stylistycznych 157
Pozbywanie si przedrostkw firmowych 160
Style przyciskw 161
Czas na dziaanie zmienianie stylw przyciskw systemu Bootstrap 162
Czemu te przyciski s takie due? 163
Style nagwka 164
Czas na dziaanie dodawanie stylw nagwka witryny 164
Style stopki 167
Czas na dziaanie dodawanie stylw stopki 167
Strona gwna 170
Sekcja powitalna 170
Czas na dziaanie formatowanie stylu sekcji powitalnej 170
Sekcja wezwania do dziaania 171
Czas na dziaanie formatowanie stylu sekcji wezwania do dziaania 172
Sekcja galerii 172
Czas na dziaanie definiowanie stylu sekcji galerii 173
Kup ksik Pole ksik
Spis treci
7
Sekcja referencji 174
Czas na dziaanie definiowanie stylu sekcji referencji 174
Formularz subskrypcji 175
Czas na dziaanie formatowanie stylu pola adresu e-mail 175
Strona galerii 176
Czas na dziaanie dostosowywanie stylw tytuu strony 178
Strona kontaktowa 179
Czas na dziaanie dostosowywanie stylw strony kontaktowej 181
Strona O nas 182
Strona o zasadach korzystania z serwisu 184
Zapewnianie dobrego wygldu strony w rnych urzdzeniach 184
Czas na dziaanie poprawianie wygldu strony
w oknach o szerokoci do 767 pikseli 186
Czas na dziaanie poprawianie wygldu strony
w oknach o szerokoci do 480 pikseli 190
Usuwanie niepotrzebnych regu stylistycznych 193
Testowanie witryny 195
Podsumowanie 195
Rozdzia 6. Elastyczna strona firmowa na bazie systemu Foundation 197
System szkieletowy oparty na jzyku Ruby 198
Gem Foundation 198
Czas na dziaanie instalowanie systemu Foundation
i konfiguracja nowego projektu 199
Skadnie Sassa i SCSS 200
Edytory kodu Sassa i SCSS 201
Czas na dziaanie instalowanie edytora Sublime Text
i wczanie kolorowania skadni SCSS 201
Tworzenie wasnych arkuszy stylw SCSS 203
Czas na dziaanie tworzenie arkuszy stylw SCSS,
aby nie utrudnia obsugi systemu 203
Wprowadzenie do Compassa 204
Funkcje pomocnicze Compassa 204
Konfiguracja projektu Compassa 204
Czas na dziaanie konfiguracja cieki projektu w pliku config.rb 206
Kompilowanie SCSS na CSS 207
Czas na dziaanie obserwowanie zmian w arkuszach stylw SCSS 207
Przygotowywanie obrazw 208
Skadniki systemu Foundation 209
Siatka 209
Zapytania medialne CSS3 212
Style interfejsu uytkownika 212
Wtyczka do jQuery Orbit 213
Tworzenie dokumentw HTML 214
Podstawowy dokument HTML 214
Czas na dziaanie modyfikowanie podstawowego dokumentu HTML 214
Kup ksik Pole ksik
Spis treci
8
Strona gwna 218
Czas na dziaanie tworzenie treci strony gwnej 218
Strona z opisem usug 225
Czas na dziaanie budowa struktury HTML strony Usugi 225
Strona z cennikiem 230
Czas na dziaanie budowa struktury HTML strony z cennikiem 231
Strona O nas 236
Czas na dziaanie budowa struktury HTML strony O nas 236
Strona kontaktowa 240
Czas na dziaanie budowa struktury HTML strony kontaktowej 240
Podsumowanie 244
Rozdzia 7. Rozszerzanie systemu Foundation 245
Monitorowanie projektu 246
Czas na dziaanie wczanie monitorowania projektu 246
Wprowadzenie do funkcji kolorw Sassa 247
Zmienne w Sassie 248
Czas na dziaanie dostosowywanie zmiennych Sassa
dotyczcych kolorw systemu Foundation 248
Wasne rodziny fontw 250
Domieszka Compassa do deklarowania regu @font-face 251
Czas na dziaanie dodawanie wasnych rodzin fontw
przy uyciu domieszki Compassa 251
Nawigacja 254
Czas na dziaanie formatowanie sekcji nagwkowej 254
Wprowadzenie do funkcji pomocniczych Compassa dotyczcych spritew 255
Stopka 256
Czas na dziaanie formatowanie stylu stopki 257
Wprowadzenie do selektorw strukturalnych CSS3 261
Strona gwna 262
Czas na dziaanie formatowanie strony gwnej 263
Do boju 270
Strona Usugi 272
Czas na dziaanie formatowanie strony o usugach 273
Strona z cennikiem 278
Czas na dziaanie formatowanie stylu strony z cennikami 279
Strony O nas i Kontakt 282
Czas na dziaanie formatowanie stylu stron O nas i Kontakt 282
Czas na dziaanie czynnoci kocowe 284
Testowanie witryny 286
Podsumowanie 287
rda dodatkowych informacji 287
Ksiki 287
Internet 288
Skorowidz 289
Kup ksik Pole ksik
3
Ulepszanie
strony portfolio
przy uyciu CSS3
W poprzednim rozdziale napisalimy struktur HTML5 naszej strony portfolio.
W tym rozdziale dodamy do niej arkusze stylw CSS3. Zaczniemy od zdefiniowania paru
prostych efektw wizualnych, ktre zostay niedawno wprowadzone w CSS3,
takich jak cienie tekstu i blokw oraz zaokrglenie rogw.
Nastpnie utworzymy bardziej skomplikowany efekt, polegajcy na zmianie obrazu
po najechaniu na niego kursorem. Przed pojawieniem si technologii CSS3 mona to byo
osign wycznie przy uyciu JavaScriptu.
W tym rozdziale:
Sformatujesz styl strony zaczniemy od nagwka i nawigacji, potem przejdziemy
do obszaru treci, a skoczymy na stopce, wykorzystujc podczas pracy rne nowe
wasnoci CSS3.
Utworzysz funkcj filtrujc portfolio przy uyciu CSS3.
Stworzysz efekt zmiany obrazu po najechaniu kursorem przy uyciu przeksztace
i przej CSS3.
Przystosujesz wygld strony do ekranw o rnych szerokociach przy uyciu
zapyta medialnych CSS3.
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
72
Model polowy CSS
Element blokowy HTML jest w istocie polem. Na pole to skada si tre waciwa elementu
oraz jego marginesy, dopenienie i obramowanie zdefiniowane przy uyciu CSS, jak wida na
poniszym rysunku:
Wicej informacji na temat rnic midzy elementami blokowymi i rdliniowymi oraz list elementw mona
znale na poniszych stronach:
Elementy blokowe: https://developer.mozilla.org/en-US/docs/HTML/Block-level_elements.
Elementy rdliniowe: https://developer.mozilla.org/en-US/docs/HTML/Inline_elements.
Przed pojawieniem si CSS3 okrelanie waciwoci pola elementu byo nieco utrudnione.
Zamy na przykad, e tworzymy kwadrat o boku 100 pikseli:
div {
width: 100px;
height: 100px;
}
Taki kod przegldarka zinterpretuje jako zwyky kwadrat (pierwszy rysunek na nastpnej stronie).
Ale bdzie tak tylko dopty, dopki nie zdefiniujemy dopenienia, marginesu albo obramowa-
nia. Jako e pole elementu ma cztery boki, zdefiniowanie dopenienia o rozmiarze 10 pikseli
(padding: 10px) spowoduje zwikszenie szerokoci i wysokoci elementu o 20 pikseli po 10
z kadej strony (drugi rysunek na nastpnej stronie).
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
73
Nie do, e zajmowane jest dodatkowe miejsce, to jeszcze obszar marginesu znajduje si po-
za elementem, to znaczy nie naley do jego obszaru. Jeli wic zdefiniujemy elementowi ko-
lorowe to, kolor ten nie bdzie widoczny w obszarze zajmowanym przez margines.
Wasno CSS3 box-sizing
W CSS3 dostpna jest wasno box-sizing, za pomoc ktrej mona kontrolowa waciwo-
ci modelu polowego.
Warto Opis
content-box Jest to standardowe ustawienie modelu polowego. Warto ta sprawia, e dopenienie
i obramowanie pola nie s wliczane do jego zdefiniowanych szerokoci i wysokoci,
jak zostao pokazane na rysunku w poprzednim podrozdziale.
border-box Ta warto jest przeciwiestwem poprzedniej. Sprawia, e dopenienie i obramowanie
s wliczane do zdefiniowanych szerokoci i wysokoci pola.
Wrmy do naszego przykadu. Ustawimy wasno box-sizing na border-box. Dziki temu
niezalenie od dopenienia i obramowania szeroko i wysoko elementu bd wynosi po
100 pikseli. Na poniszym rysunku przedstawiam rnic midzy dwoma opisywanymi usta-
wieniami:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
74
Czas na dziaanie definiowanie wasnoci box-sizing
Otwrz plik styles.css i na samym pocztku wpisz ponisz regu:
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
Co uzyskalimy?
Uylimy selektora uniwersalnego CSS (*) w celu zastosowania wasnoci border-box do wszyst-
kich elementw blokowych na stronie, aby uatwi sobie ustawianie ich szerokoci i wysokoci.
Jako pierwszy porad t opublikowa Paul Irish, gwny programista skryptu Modernizr i HTML5 Boilerplate.
Wicej informacji o tej metodzie mona znale w jego wpisie na stronie http://www.paulirish.com/2012/
box-sizing-border-box-ftw/.
Jednostki miary CSS
W specyfikacji CSS opisano kilka jednostek miary. Na naszej stronie bdziemy uywa gw-
nie jednostek px, em oraz procentw.
Piksele
Piksel (px) to bezwzgldna jednostka, ktra jest uywana chyba najczciej ze wszystkich dostp-
nych jednostek. Za jej pomoc mona precyzyjnie okreli rozmiary elementw. W specyfikacji
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
75
CSS znajdujcej si pod adresem http://www.w3.org/TR/css3-values/#reference-pixel piksel
jest zdefiniowany jako:
Rozmiar ktowy jednego piksela na urzdzeniu o gstoci 96 dpi.
Wedug tej definicji 1 piksel CSS na ekranie o gstoci 96 dpi jest rwny 1 pikselowi urzdzenia.
Zatem 10 pikseli w CSS odpowiada 10 pikselom urzdzenia.
W tym projekcie rozmiary pl bdziemy okrela w pikselach.
Piksele na ekranach o wikszej gstoci
Ze wzgldu na upowszechnianie si ekranw o coraz wyszych rozdzielczociach przykad opisa-
ny w poprzednim podrozdziale jest ju nieaktualny. Poniszy rysunek przedstawia ekran o wyso-
kiej rozdzielczoci 192 dpi. Element o szerokoci i wysokoci 10 pikseli na takim ekranie zajmie
20 pikseli urzdzenia:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
76
Rozmiar elementu na ekranie pozostanie taki sam, ale bdzie si on skada z wikszej liczby
pikseli urzdzenia.
Na temat piksela i jego relacji z rozdzielczoci ekranu toczy si wiele dyskusji, np.:
Reda Lemeden w swoim wpisie przedstawi trudnoci zwizane z projektowaniem dla ekranw
o rnych gstociach (http://coding.smashingmagazine.com/2012/08/20/towards-retina-web/).
Scott Kellum w serwisie A List Apart opisa jednostk piksel i jej zastosowanie do definiowania
rozmiaru elementw na stronach przeznaczonych dla rnych urzdze i ekranw o rnych
rozdzielczociach (http://alistapart.com/article/a-pixel-identity-crisis).
Jednostka em
Jednostka em jest wzgldna i odnosi si do rozmiaru wielkiej litery M uywanego fontu. W CSS 1em
zasadniczo odnosi si do rozmiaru pisma ustawionego w urzdzeniu lub dokumencie. Jeli ele-
ment nadrzdny ma okrelony rozmiar pisma w jednostce em, to rozmiar pisma jego elementw
potomnych bdzie ustawiany wzgldem rozmiaru pisma tego elementu nadrzdnego.
W naszym projekcie jednostki em bdziemy uywa do okrelania rozmiaru pisma zgodnie z zale-
ceniami W3C (http://www.w3.org/Style/Examples/007/units.en.html).
Konwertowanie pikseli na em
Domylny rozmiar pisma w systemie Skeleton jest ustawiony w pliku base.css na 14 pikseli, wic
do tego rozmiaru bd si odnosi ustawienia wyraone w jednostce em.
Powiedzmy, e chcemy si dowiedzie, ile jednostek em odpowiada rozmiarowi 20 pikseli, gdy
podstawowy rozmiar pisma wynosi 14 pikseli. Istnieje narzdzie uatwiajce zamienianie jedno-
stek px na em (i odwrotnie) o nazwie PXtoEM.com (http://pxtoem.com/). Na zrzucie ekranu (na na-
stpnej stronie) pokazaem sposb jego uycia.
Jak wida na zrzucie, przy podstawowym rozmiarze pisma 14 pikseli rozmiarowi 20px odpowiada
warto 1.429em.
Samodzielne obliczanie wartoci em
Jednostki px i em mona take przelicza przy uyciu wzorw przedstawionych w poniszej tabeli:
Rodzaj
konwersji
Wzr Przykad
px na em Rozmiar (px) / podstawowy rozmiar pisma (px) 20(px) / 14(px) = 1.429em (po zaokrgleniu)
em na px Rozmiar (em) * podstawowy rozmiar pisma (px) 1,429(em) * 14(px) = 20px
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
77
Dziwne traktowanie jednostki em przez przegldarki
Przegldarki w niektrych przypadkach rnie traktuj wartoci wyraone w jednostce em.
W przykadzie z poprzedniego podrozdziau warto 1.429em przy podstawowym rozmiarze
pisma 14px zostanie zamieniona na 20px przez wszystkie przegldarki (Chrome, Opera, Safari
i Firefox).
Ale jeli usuniemy dwie ostatnie cyfry w celu zaokrglenia liczby do 1.4em, to sytuacja si nieco
zmieni. W Firefoksie i Operze zostanie zastosowana warto 19.6px, a w przegldarkach opartych
na mechanizmie Webkit (Chrome i Safari) zostanie zastosowane zaokrglenie do 20px.
Mona sprawdzi, jak przegldarki zamieniaj wartoci wyraone w jednostce em na piksele
w narzdziach programistycznych w okienku Computed (wartoci obliczone).
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
78
Procenty
Procent to jednostka wzgldna o podobnych waciwociach jak em. Podczas gdy em odnosi si
do rozmiaru pisma, procent odnosi si do dugoci elementu nadrzdnego, niezalenie od zasto-
sowanej do jej okrelenia jednostki. Jeli na przykad element nadrzdny ma wysoko 100px,
to ustawienie szerokoci na 100% jego elementu potomnego jest rwnoznaczne z ustawieniem
jej na 100px, 50% oznacza 50 pikseli itd.
W naszym projekcie procentw bdziemy uywa do okrelania wymiarw pl elementw, co
bdzie przydatne przy wywietlaniu strony na mniejszych ekranach.
Ustawianie rodziny fontw
W Skeletonie domylne kroje pisma dokumentu to Helvetica Neue i Helvetica. Jeli fonty te
s niedostpne, zostanie zastosowany krj Arial albo domylny krj bezszeryfowy, jaki bdzie
dostpny w komputerze uytkownika.
Definicje rodzin fontw znajduj si w pliku base.css:
body {
background: #fff; font: 14px/21px "HelveticaNeue",
"Helvetica Neue", Helvetica, Arial, sans-serif;
color: #444;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
}
W nagwkach (h1, h2, h3 itd.) ustawione s kroje szeryfowe Georgia i Times New Roman:
h1, h2, h3, h4, h5, h6 {
color: #181818; font-family: "Georgia", "Times New Roman", serif;
font-weight: normal;
}
Kroje te bardzo dobrze nadaj si do prezentowania akapitw (pierwszy rysunek na nastpnej
stronie).
Na naszej stronie jednak si nie sprawdz, bo my mamy bardzo mao tekstu do wywietlenia
(drugi rysunek na nastpnej stronie).
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
79
Dlatego w nagwkach ustawimy taki sam krj pisma jak w pozostaej czci strony, aby za-
pewni jednolito stylu.
Czas na dziaanie ustawianie rodziny fontw nagwkw
Otwrz plik styles.css i wpisz ponisz regu pod deklaracj wasnoci box-sizing opisan
w czci Czas na dziaanie definiowanie wasnoci box-sizing:
h1, h2, h3, h4, h5, h6 {
font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial,
sans-serif;
font-weight: bold;
}
Co uzyskalimy?
Ustawilimy krj pisma nagwkw na taki sam jak w pozostaej czci dokumentu oraz do-
datkowo ustawilimy wasno font-weight na bold, aby pogrubi te nagwki.
Nie istnieje adna elazna regua pozwalajca okreli, jakie kroje pisma do siebie pasuj. Ich dobr jest
sztuk. Ale mona postpowa wedug kilku prostych wskazwek, ktre umoliwi osignicie przy-
najmniej znonego efektu. Par takich porad opisa Ian Yates w serwisie Webdesigntuts+ (http://webdesign.
tutsplus.com/articles/a-beginners-guide-to-pairing-fonts--webdesign-5706).
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
80
Formatowanie nagwka
Teraz sformatujemy styl poszczeglnych sekcji strony. Jej nagwek znajduje si w elemencie
HTML5 header przypisanym do klasy header. W elemencie tym znajduje si dodatkowo ele-
ment div przypisany do klasy logo zawierajcy logo strony.
Czas na dziaanie definiowanie stylw nagwka
Aby zdefiniowa styl nagwka, wykonaj nastpujce czynnoci:
1. W pliku styles.css wpisz ponisz regu CSS. Zawiera ona deklaracje ustawiajce
kolor ta nagwka oraz jego dopenienie, obramowanie, cie (definiowany
za pomoc wasnoci CSS3 box-shadow) i dolny margines odsuwajcy nagwek
od znajdujcej si pod nim sekcji:
.header {
padding: 22px 0;
background-color: #3a3f43;
margin-bottom: 14px;
box-shadow: 0 1px 3px 0 rgba(0,0,0,0.3);
border-bottom: 1px solid #181f25;
}
2. Nastpnie zdefiniujemy styl kontenera logo. W poniszej regule zostaa zastosowana
wasno CSS3 border-radius, ktra suy do zaokrglania rogw elementw:
.logo {
text-align: center;
border-radius: 3px;
background-color: #515558;
width: 250px;
padding: 5px 0;
margin: 0 auto;
}
. Teraz kolej na styl samego logo, ktre w przypadku naszej strony jest po prostu
tekstem. Do jego prezentacji zastosujemy font Alfa Slab One, ktry dodalimy
z serwisu Google Fonts w rozdziale 2.:
.logo h1 {
color: #fff;
font-weight: normal;
font-family: "Alfa Slab One", Arial, sans-serif;
margin-bottom: 0;
}
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
81
Co uzyskalimy?
Zdefiniowalimy style dotyczce nagwka. Ustawilimy mu kolor ta, cie oraz style pola (dope-
nienie, obramowanie i margines). Ponadto w logo zastosowalimy krj pisma Alfa Slab One z ser-
wisu Google Fonts. Na poniszym zrzucie ekranu wida, jak aktualnie wyglda nasza strona:
Selektory CSS
W tym projekcie bdziemy uywa selektorw CSS do wybierania elementw z okrelonej
struktury elementw. Uyjemy wic selektorw dziecka, przylegajcego elementu siostrzane-
go oraz oglnie elementu siostrzanego. Przyjrzyjmy si im wszystkim po kolei.
Selektor dziecka
W CSS mona wybiera elementy, ktre s zagniedone w okrelonych innych elementach (ro-
dzicach). Zapewne wiesz, jak si wybiera element potomny w CSS. Wystarczy okreli element
nadrzdny (wpisujc jego klas, identyfikator albo nazw), a nastpnie wyznaczy element
potomny:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
82
.parent p {
background-color: tomato;
}
Powysza regua CSS dotyczy wszystkich elementw p zagniedonych w elemencie nale-
cym do klasy parent.
Ale czasami trzeba odwoa si tylko do potomka pierwszego stopnia, tzn. sprawi, aby elementy
bdce wnukami danego elementu nie zostay ju wybrane. W takim przypadku naley uy kombi-
natora >, ktry ogranicza wybr elementw do bezporednich potomkw rodzica:
.parent > p {
background-color: tomato;
}
W poniszej strukturze HTML powysza regua zmieni kolor ta tylko pierwszego i drugiego
akapitu:
<div class="parent">
<p> To jest pierwszy akapit. </p>
<p> To jest drugi akapit. </p>
<section>
<h3>Tytu sekcji</h3>
<p> To jest trzeci akapit. </p>
<p> To jest czwarty akapit. </p>
</section>
</div>
Wynik jest nastpujcy:
Selektor przylegajcego elementu siostrzanego
Selektor przylegajcego elementu siostrzanego definiuje si przy uyciu kombinatora +. Suy on
do wybierania elementu, ktry znajduje si bezporednio za okrelonym elementem. Dotyczy to
na przykad sytuacji, gdy w kodzie strony znajduje si element div, a bezporednio za nim jest p:
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
83
<div>To jest element div.</div>
<p>To jest pierwszy akapit.</p>
<p>To jest drugi akapit.</p>
Naszym celem jest element p znajdujcy si bezporednio za elementem div. Chcemy mu
zdefiniowa pomidorowy kolor ta:
div + p {
background-color: tomato;
}
Efekt zastosowania tej reguy do powyszego kodu HTML jest nastpujcy:
Oglny selektor elementu siostrzanego
Oglny selektor elementu siostrzanego jest nowym typem selektora wprowadzonym w CSS3.
Do jego deklarowania uywa si tyldy (~):
div ~ p {
background-color: tomato;
}
Jego dziaanie jest podobne do dziaania selektora przylegajcego elementu siostrzanego. Rnica
polega na tym, e wybierany jest nie tylko pierwszy element, ale wybierane s wszystkie elementy
siostrzane znajdujce si za wyznaczonym. Jeli wic bdziemy mieli kod HTML o strukturze ta-
kiej samej jak w przykadzie z selektorem przylegajcego elementu siostrzanego, kolor ta zo-
stanie zastosowany do wszystkich akapitw, jak wida na poniszym zrzucie ekranu:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
84
Pseudoklasy CSS3
Uyjemy te kilku pseudoklas CSS3. Pseudoklasa to klasa suca do wybierania elementu
znajdujcego si w okrelonym stanie. Na przykad pseudoklasa :hover stosuje reguy CSS do
elementu, gdy znajdzie si nad nim kursor.
W tym projekcie bdziemy uywa nastpujcych pseudoklas:
:checked
:nth-child
Zobaczmy.
Pseudoklasa CSS3 :checked
W CSS3 wprowadzono pseudoklas o nazwie :checked. Umoliwia ona wybieranie elementw
HTML, pl wyboru lub przyciskw radiowych, ktre s zaznaczone przez uytkownika. Poniszy
selektor wybiera przycisk radiowy o identyfikatorze posters, gdy ten zostanie zaznaczony:
#posters:checked {
/* deklaracje stylw */
}
Pseudoklasy :checked mona uywa do wybierania zaznaczonego przycisku radiowego, ktry
jest uywany jako element nawigacji po stronie. Podobnie jak w tradycyjnej nawigacji zbudowanej
przy uyciu elementw a, uywamy te pseudoklasy :hover w celu zdefiniowania stylw dla
elementu, gdy znajduje si nad nim kursor.
Pseudoklasa CSS3 :nth-child
W CSS wprowadzono take now pseudoklas o nazwie :nth-child. Za jej pomoc mona wybie-
ra elementy w takiej kolejnoci, w jakiej znajduj si w kodzie rdowym. Pseudoklasa ta wyma-
ga podania argumentu, ktry moe by liczb lub sowem kluczowym (odd albo even).
Na przykad ponisza regua zmieni kolor ta trzeciego elementu li:
li:nth-child(3) {
background-color: tomato;
}
W poniszej strukturze HTML powysza regua zmieni kolor ta w rodkowym elemencie li:
<ul>
<li>Element 1</li>
<li>Element 2</li>
<li>Element 3</li>
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
85
<li>Element 4</li>
<li>Element 5</li>
</ul>
Efekt uycia tego kodu wida na poniszym zrzucie ekranu:
Mona take zamiast liczby wpisa sowo kluczowe even albo odd. Ponisza regua zmieni kolor ta
w elementach li o nieparzystych numerach (pierwszym, trzecim, pitym itd.):
li:nth-child(odd) {
background-color: tomato;
}
Pseudoklasie :nth-child mona te przekazywa wzory wyboru elementw w bardziej wy-
mylnych sekwencjach:
li:nth-child(2n+2) {
background-color: tomato;
}
Litera n jest w tym przypadku zmienn, ktra przyjmuje wartoci 0, 1, 2, 3 itd. W zwizku z tym
wzr 2n+2 oznacza wybr drugiego, czwartego, smego, dziesitego itd. elementu li.
Wicej informacji na temat zasady dziaania pseudoklasy :nth-child mona znale w artykule Chrisa Coy-
iera w serwisie CSS Tricks (http://css-tricks.com/how-nth-child-works/). Coyer utworzy te porczne na-
rzdzie do testowania wzoru pseudoklasy :nth-child (http://css-tricks.com/examples/nth-child-tester/).
Style miniatur i podpisw
Po sformatowaniu stylu nagwka mona przej do stylizowania i rozmieszczenia obrazw
portfolio. Mamy 12 miniatur, z ktrych kada znajduje si w elemencie HTML5 figure i ma
podpis zawierajcy opis miniatury umieszczony w elemencie figcaption.
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
86
Czas na dziaanie definiowanie stylw miniatur
i podpisw
Aby doda style dla miniatur i podpisw, wykonaj nastpujce czynnoci:
1. Otwrz plik styles.css. Zaczniemy od przesunicia portfolio nieco w d
za pomoc marginesu:
.portfolio {
margin-top: 20px;
}
2. Obrazy bd wywietlane w czterech kolumnach. Szeroko kadej z nich bdzie
wynosi 240 pikseli, bo tak warto otrzymalimy z dziaania 960 / 4 = 240.
Aby obrazy mieciy si na stronie, musimy usun lewy i prawy margines,
ktre zostay odziedziczone z klasy columns systemu Skeleton:
.portfolio .four.columns {
width: 240px;
margin-right: 0;
margin-left: 0;
}
3. Nastpnie ustawimy pozycjonowanie elementu figure na wzgldne (relative),
aby pooenie znajdujcych si w nim elementw, np. img i figcaption, byo
wyznaczane wzgldem niego. Ponadto ustawimy wasno overflow elementu
figure na hidden:
.portfolio > figure {
position: relative;
overflow: hidden;
}
Ustawieniem wasnoci overflow elementu figure na hidden ukrywamy element
wychodzcy poza granice elementu figure. W naszym przykadzie wykorzystamy
to do ukrywania elementu figcaption, jak pokazaem na pierwszym zrzucie ekranu
przedstawionym na nastpnej stronie.
4. Wasno max-width obrazu ustawimy na 100%, dziki czemu obraz bdzie
rozmiarem pasowa do zawierajcego go elementu, niezalenie od jego rozmiaru:
.portoflio > figure img {
max-width: 100%;
}
5. Ponadto jeli uwanie przyjrzysz si miniaturze, dostrzeesz niewielki odstp
znajdujcy si za elementem img, ktry jest typowy dla elementw rdliniowych
i jest zwizany z domylnym wyrwnaniem elementu w pionie
(http://www.impressivewebs.com/difference-block-inline-css/)
(patrz drugi rysunek na nastpnej stronie).
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
87
Jednym ze sposobw na usunicie tego odstpu jest ustawienie wasnoci display na
block. Dlatego te dodajemy deklaracj display: block do reguy dla elementw img:
.portfolio > figure img {
max-width: 100%;
display: block;
}
Mona te pozby si tej pustej przestrzeni poprzez ustawienie wasnoci
vertical-align na top.
6. Nastpnie zdefiniujemy style dla podpisw miniatur, ktre s reprezentowane
przez element HTML5 figcaption. Najpierw ustawimy wasno position
na absolute:
.portfolio figcaption {
position: absolute;
}
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
88
Spowoduje to zmian wysokoci elementu nadrzdnego i zniknicie podpisw
wywoane ustawieniem ich pozycji na miejsce poza obszarem elementu figure.
Nastpnie ustawiamy wysoko i szeroko podpisu na 100%, aby jego wymiary zawsze
pokryway si z wymiarami rodzica, ktrym w tym przypadku jest element figure:
.portfolio figcaption {
position: absolute;
width: 100%;
height: 100%;
}
7. Ustawiajc wasno position elementu figure na absolute, moemy go przesun
w dowolnym kierunku, nie przejmujc si ssiednimi elementami. W tym
przypadku ustawimy wasnoci left i top na 0, jak wida na poniszym listingu:
.portfolio figcaption {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
Dziki temu, e elementowi figure wasno position zostaa ustawiona na relative,
pooenie znajdujcego si w nim podpisu jest ustalane wzgldem wanie tego
elementu figure (bdcego rodzicem podpisu). To sprawia, e podpis nakada si
na miniatur, jak na poniszym zrzucie ekranu:
8. Nastpnie ustawimy kolor ta podpisu przy uyciu techniki RGBA (ang. red, green,
blue, alpha czerwony, zielony, niebieski, alfa). Warto kanau kadego koloru
oznacza si liczb z przedziau od 0 do 255.
Jeli na przykad wpisze si 0 dla kadego kanau (rgba(0,0,0,1)), to otrzyma si
kolor czarny, ktry w zapisie szesnastkowym ma posta #000000. Analogicznie same
wartoci 255 oznaczaj kolor biay (#ffffff w notacji szesnastkowej).
Technika RGBA umoliwia take dostosowanie poziomu przezroczystoci koloru
za pomoc kanau alfa. Zakres wartoci tego kanau wynosi od 0 do 1. Warto 0
oznacza 0%, a 1 to 100%. W takim razie 0.5 jest rwnoznaczne z 50%.
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
89
W poniszej regule ustawiamy czarny kolor ta i przezroczysto na poziomie 80%:
.portfolio figcaption {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: rgba(58,63,67,.8);
}
9. Dodamy te dopenienie, aby odsun nieco tekst podpisu od krawdzi elementu
kontenera. W poniszej regule dopenienie zostao ustawione na 10%:
.portfolio figcaption {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: rgba(58,63,67,.8);
padding: 10%;
}
Dziki temu, e wczeniej ustawilimy wasno box-sizing na border-box,
rozmiar podpisu (wysoko i szeroko) pozostanie na poziomie 100%, niezalenie
od dopenienia. Inaczej mwic: podpis nadal bdzie mia wymiary swojego
rodzica, ktre wynosz 240 240 pikseli.
10. Jako e to jest ciemne, tekstowi musimy nada jasny kolor. W zwizku z tym
zmienimy kolor tekstu podpisu na biay (#fff):
.portfolio figcaption h4 {n
color: #fff;
}
.portfolio figcaption p {
color: #fff;
}
11. Moe jest to kwestia gustu, ale mnie si wydaje, e tekst w podpisie jest za duy.
Dlatego zmniejsz go o 1 piksel w stosunku do rozmiaru bazowego. Podstawowy
rozmiar pisma wynosi 14 pikseli, wic zmieni go na 13, czyli 0.929em:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
90
.portfolio figcaption p {
color: #fff;
font-size: 0.929em;
}
Co uzyskalimy?
Wanie dodalimy reguy stylistyczne dotyczce miniatury i jej podpisu. Na tym etapie nasze
portfolio wyglda jak na poniszym zrzucie ekranu:
Przeksztacenia dwuwymiarowe CSS
Ostanie lata przyniosy sporo nowoci w CSS3, wrd ktrych znajduj si m.in. przekszta-
cenia CSS3 (http://www.w3.org/TR/css3-transforms/). Przy uyciu przeksztace mona prze-
suwa, obraca, znieksztaca oraz zwiksza i zmniejsza elementy HTML.
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
91
Funkcja translate()
Funkcja translate() w przeksztaceniach CSS3 suy do przesuwania elementw wzgldem
ich pierwotnego pooenia. Mona jej uywa na trzy sposoby:
Aby przesun element w poziomie:
transform: translateX(value);
Aby przesun element w pionie:
transform: translateY(value);
Mona te uy skrconej skadni umoliwiajcej dokonanie przesunicia zarwno
w poziomie, jak i w pionie:
transform: translate(x-value,y-value);
Pooenie elementu okrela si za pomoc wartoci x i y, ktre reprezentuj odpowiednio wsp-
rzdn na osi x i wsprzdn na osi y w ukadzie wsprzdnych podobnym do kartezjaskie-
go (http://pl.wikipedia.org/wiki/Ukad_wsprzdnych_kartezjaskich).
Poniewa jednak strony internetowe czyta si od gry, wsprzdna y ma odwrotne znacze-
nie, tzn. ujemna warto oznacza przesunicie w gr, a dodatnia w d.
Powiedzmy, e chcemy przesun element o 100 pikseli w prawo. Takie przesunicie mona
zapisa w nastpujcy sposb:
transform: translateX(100px)
Mona te uy skrconej notacji nastpujco:
transform: translate(100px,0)
Podobnie, aby przesun element o 100 pikseli w gr, mona to zapisa tak:
transform: translateY(-100px)
Ale mona te uy notacji skrconej:
transform: translate(0,-100px)
Jeli natomiast zechcemy przesun element na ukos, zdefiniujemy zarwno przesunicie po-
ziome, jak i pionowe:
transform: translate(100px,-100px)
Ta deklaracja przesunie element do gry i w prawo, jak na poniszym rysunku:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
92
Przedrostki firmowe
Funkcj translate() obsuguj przegldarki Chrome 4, Safari 3.1, Firefox 3.5, Internet Explorer
10 oraz Opera 10.5, chocia eby zadziaaa, trzeba doda odpowiednie przedrostki firmowe.
W zwizku z tym kompletna regua przeksztacenie wyglda tak:
-webkit-transform: translate(x,y); /* Webkit (np. Chrome i Safari) */
-moz-transform: translate(x,y); /* Mozilla Firefox */
-ms-transform: translate(x,y); /* Internet Explorer */
-o-transform: translate(x,y); /* Opera */
transform: translate(x,y); /* standardowa skadnia zalecana przez W3C */
Przegldarki rozpoznaj deklaracje z wasnymi przedrostkami, a pozostae ignoruj. Na przykad
przegldarki oparte na mechanizmie Webkit, np. Chrome i Safari, uywaj przedrostka -webkit-.
Gdy specyfikacja przeksztace zostanie ukoczona i w peni zaimplementowana w przegl-
darkach, uywana bdzie wymieniona na kocu standardowa deklaracja zalecana przez W3C
(http://w3.org/).
Dlatego wanie powinno si stosowa wersje deklaracji z przedrostkami firmowymi: zwik-
szaj one zakres obsugiwanych przegldarek.
W powyszej regule uyto a piciu deklaracji, z ktrych kada zasadniczo suy do tego samego celu.
Jak wida, wpisywanie przedrostkw firmowych to bardzo mudne zadanie, ktre lepiej wykona przy
uyciu specjalnego narzdzia.
Jednym z takich generatorw przedrostkw firmowych jest Prefixr (http://prefixmycss.com/). Jeli uywasz pro-
gramu Sublime Text 2, to moesz pobra specjalny pakiet umoliwiajcy jego uruchomienie bezporednio
w edytorze.
Istnieje te biblioteka JavaScript o nazwie Prefix Free (http://leaverou.github.com/prefixfree/), ktra do-
daje przedrostki w locie, dziki czemu nie trzeba ich w ogle wpisywa.
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
93
Przejcia CSS3
Kolejnym znakomitym nowym dodatkiem w CSS3 s przejcia umoliwiajce stopniowe
w odrnieniu od byskawicznego zmienianie jednej reguy CSS na inn w okrelonym czasie.
Do definiowania przej CSS3 suy nastpujca skadnia (pokazane s te wersje z przed-
rostkami):
-webkit-transition: property duration timing-function delay; /* Webkit (np. Chrome
/ & Safari) */
-moz-transition: property duration timing-function delay; /* Mozilla Firefox */
-o-transition: property duration timing-function delay; /* Opera */
transition: property duration timing-function delay; /* standardowa
/ skadnia zalecana przez W3C */
Aktualnie przejcia CSS3 s obsugiwane przez przegldarki Chrome 4, Firefox 4, Safari 3.1,
Opera 10.5 oraz Internet Explorer 10.0 (http://caniuse.com/#feat=css-transitions).
Przegldarka Internet Explorer nie obsuguje przej CSS3 i dlatego na powyszym listingu nie ma wersji deklaracji
z przedrostkiem -ms-, bo Internet Explorer 10 obsuguje je bez przedrostka (http://msdn.microsoft.com/en-us/
library/ie/hh673535(v=vs.85).aspx).
Wartoci przej CSS3
W przedstawionych przykadach uyte zostay po cztery wartoci: property, transition-duration,
timing-function oraz delay. Zobaczmy, do czego su:
Warto Opis
property Ta warto wskazuje wasno CSS, do ktrej ma zosta zastosowany efekt przejcia.
Moe to by width, height, color, background itd.
Jeli nie zostanie wprost zdefiniowana, to zostanie zastosowana warto domylna
all, stosujca przejcie do wszystkich wasnoci.
transition-duration Warto okrelajca czas trwania przejcia. Mona j wyraa w milisekundach lub
sekundach, np. 200ms albo 0.2s.
timing-function Warto okrelajca sposb wykonywania przejcia w czasie. Dostpnych jest pi
gotowych ustawie: ease, easein, ease-out, ease-in-out oraz linear. Ich
dziaanie mona obejrze na stronie http://www.css3.info/preview/css3-transitions/.
delay Warto okrelajca, po upywie jakiego czasu ma si rozpocz wykonywanie
przejcia.
Ponisza przykadowa regua tworzy koo z elementu div, ktre potem dziki przejciom zmieni-
my stopniowo w prostokt, gdy zostanie nad nim ustawiony kursor:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
94
div {
width: 200px;
height: 200px;
border-radius: 100px;
border: 5px solid orange;
background-color: tomato;
}
div:hover {
border-radius: 0;
}
Jak wspominaem wczeniej, teraz przejcie zostanie wykonane natychmiast, bo nie uylimy
adnej wasnoci przej CSS3. Zrobimy to teraz. Ustawimy efekt przejcia dla wasnoci
border-radius o czasie trwania 200ms:
div {
/* pozostae deklaracje s takie same jak powyej */
-webkit-transition: border-radius 200ms;
-moz-transition: border-radius 200ms;
-o-transition: border-radius 200ms;
transition: border-radius 200ms;
}
Teraz zmiana bdzie si dokonywaa stopniowo, jak pokazuje poniszy rysunek, i bdzie bardziej
atrakcyjna:
Czas na dziaanie zmiana obrazu po najechaniu
kursorem
Aby zmieni obraz na co innego po najechaniu na niego kursorem, wykonaj nastpujce
czynnoci:
1. Otwrz plik style.css. Przypomn, e podpisy obrazw s reprezentowane przez
elementy HTML5 figcaption. Wczeniej elementom tym zdefiniowalimy ju
troch ustawie, np. pozycjonowanie, szeroko i wysoko, kolor ta, kolor pisma
oraz dopenienie.
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
95
Teraz dodamy reguy dotyczce efektu hover. Oglnie chodzi o to, e po najechaniu
kursorem na miniatur podpis stopniowo wysunie si z wybranej strony i zakryje
obraz.
W poniszej regule najpierw przesuwamy podpis w prawo za pomoc
przeksztacenia CSS3:
.portoflio figcaption {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
padding: 10%;
background-color: rgba(58,63,67,.8);
-webkit-transform: translateX(100%);
-moz-transform: translateX(100%);
-ms-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
2. Teraz dodamy efekt przejcia CSS3. W poniszej regule ustawiamy przejcie
dla wszystkich wasnoci na czas 350ms:
.portoflio figcaption {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
padding: 10%;
background-color: rgba(58,63,67,.8);
-webkit-transform: translateX(100%);
-moz-transform: translateX(100%);
-ms-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 350ms;
-moz-transition: all 350ms;
-o-transition: all 350ms;
transition: all 350ms;
}
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
96
3. Na koniec dodamy definicj stanu hover. W stanie tym podpis wraca do swojego
pierwotnego pooenia dziki ustawieniu funkcji translateX na 0:
.container figure:hover figcaption {
-webkit-transform: translateX(0);
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-o-transform: translateX(0);
transform: translateX(0);
}
Co uzyskalimy?
Kod ten wykonuje kilka dziaa. Po pierwsze przesuwa podpis za pomoc wasnoci transform
o 100% szerokoci rodzica w prawo:
-webkit-transform: translateX(100%);
-moz-transform: translateX(100%);
-ms-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
Teraz podpis jest niewidoczny, bo ustawilimy, e elementy wychodzce poza granice elementu
figure maj by niewidoczne. Ilustruje to poniszy zrzut ekranu:
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
97
Nastpnie stosujemy efekt przejcia do wszystkich wasnoci podpisu:
-webkit-transition: all 350ms;
-moz-transition: all 350ms;
-o-transition: all 350ms;
transition: all 350ms;
W kocu zdefiniowalimy style elementu w stanie hover. Chodzi nam o to, by podpis obrazu po
najechaniu na niego kursorem wysuwa si z prawej strony i wraca do swojego pierwotnego
pooenia. Dlatego wanie ustawilimy wsprzdn przesunicia na 0%.
Po wpisaniu do arkusza stylw wszystkich opisanych w tej czci regu efekt hover powinien
dziaa:
Filtrujca nawigacja po stronie
Jak wspominaem, nawigacja na tej stronie bdzie sortowa portfolio wedug kategorii. W zwizku
z tym do jej utworzenia uyem przyciskw radiowych z etykietami:
<input class="nav-menu" id="all" type="radio" name="filter" checked="checked"/>
<label for="all">Wszystkie</label>
<input class="nav-menu" id="illustrations" type="radio" name="filter"/>
<label for="illustrations">Ilustracje</label>
<input class="nav-menu" id="posters" type="radio" name="filter"/>
<label for="posters">Plakaty</label>
<input class="nav-menu" id="typography" type="radio" name="filter"/>
<label for="typography">Typografia</label>
<input class="nav-menu" id="packaging" type="radio" name="filter"/>
<label for="packaging">Opakowania</label>
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
98
Czas na dziaanie tworzenie filtra portfolio
Aby utworzy filtr portfolio, wykonaj nastpujce czynnoci:
1. Otwrz plik style.css. Nawigacja jest zbudowana na bazie przyciskw radiowych
przypisanych do klasy nav-menu. Najpierw ukryjemy przyciski radiowe:
.nav-menu {
display: none;
}
2. Nastpnie dodamy style formatujce element label. W poniszej regule ustawiamy
wasno display na inline-block, aby etykiety byy wywietlane w jednym rzdzie:
label {
padding: 5px 10px;
color: #3a3f43;
cursor: pointer;
display: inline-block;
}
3. Gdy zostanie wybrany przycisk radiowy, zmieniaj si style elementu label. W tym
przypadku ustawimy ciemniejszy kolor ta, aby pokaza, e menu zostao zaznaczone.
To pociga za sob konieczno zmiany koloru tekstu na biay.
Aby odnie si do elementu label znajdujcego si bezporednio obok zaznaczonego
elementu input, naley uy selektora przylegajcego elementu siostrzanego:
.nav-menu:checked + label {
color: #fff;
background-color: #3a3f43;
border-radius: 3px;
}
4. Nastpnie zdefiniujemy funkcj filtrujc. Zaczniemy od ukrycia miniatury
portfolio. W tym celu zdefiniujemy nastpujc regu z selektorem .nav-menu:
.nav-menu,
.portfolio > figure.columns {
display: none;
}
5. Aby uzyska funkcj filtrujc, trzeba poczy kilka selektorw CSS. Ale najpierw
trzeba zbudowa nawigacj przy uyciu przyciskw radiowych i kademu z nich
przypisa inny identyfikator. Z przyciskami tymi zwizane s etykiety za pomoc
atrybutu for="id". Dziki temu kliknicie etykiety powoduje zaznaczenie
odpowiadajcego jej przycisku radiowego. Do zaznaczonego przycisku mona si
odnie dziki pseudoklasie CSS3 :checked. W poniszym kodzie wybieramy
zaznaczony element input, ktrego identyfikator to all:
#all:checked
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
99
Doczajc selektor przylegajcego elementu, odnosimy si do sekcji portfolio:
#all:checked ~ .portfolio
Po wybraniu sekcji portfolio moemy wybiera znajdujce si w niej elementy
potomne, aby zastosowa do nich reguy stylistyczne. W tym przypadku naszym
celem jest zdefiniowanie wasnoci display o wartoci block elementom
przypisanym do klasy all:
#all:checked ~ .portfolio .all {
display: block;
}
Dziki temu kliknicie elementu input o identyfikatorze all bdzie powodowao
wywietlenie wszystkich miniatur portfolio.
6. Teraz zrobimy to samo dla pozostaych kategorii poster, illustration,
typography oraz package:
#all:checked ~ .portfolio .all,
#posters:checked ~ .portfolio .poster,
#illustrations:checked ~ .portfolio .illustration,
#typography:checked ~ .portfolio .typography,
#packaging:checked ~ .portfolio .package {
display: block;
}
Co uzyskalimy?
Napisalimy style dotyczce nawigacji i zdefiniowalimy funkcj filtrowania przy uyciu se-
lektorw CSS.
Mimo e pseudoklasa :checked oficjalnie zostaa dodana dopiero do specyfikacji CSS3, bya obsugiwana ju
przez przegldark Firefox 1. Aby zobaczy, jak dziaa, mona obejrze demo na stronie W3C pod adresem
http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/full/flat/css3-modsel-25.html.
Teraz powinno by moliwe sortowanie portfolio wedug kategorii, jak wida na zrzucie ekra-
nu pokazanym na nastpnej stronie.
Stopka
W tej czci zdefiniujemy style stopki. W stopce znajduj si odnoniki do naszych profili w serwi-
sach spoecznociowych oraz informacje kontaktowe: numer telefonu, adres e-mail, a take
imi i nazwisko.
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
100
Czas na dziaanie formatowanie stopki
Aby sformatowa stopk, wykonaj nastpujce czynnoci:
1. Cay czas pracujemy w pliku style.css. Stopka naszej strony jest zdefiniowana
w elemencie HTML5 footer i jest przypisana do klasy footer. Zaczniemy
od zdefiniowania stylw dekoracyjnych, takich jak marginesu, dopenienia
i obramowania:
.footer {
border-top: 1px solid #ccc;
margin-top: 28px;
padding: 28px 0;
}
2. Nastpnie przeniesiemy odnoniki do mediw spoecznociowych na lew stron:
.social {
float: left;
}
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
101
3. W sekcji odnonikw spoecznociowych wygospodarowalimy troch miejsca
na formuk o prawach autorskich. Zmienimy kolor tekstu na szary i odsuniemy
j nieco od dolnej krawdzi strony za pomoc wasnoci margin-bottom:
.social .copyright {
color: #ccc;
margin-bottom: 10px;
font-size: 1em;
}
4. Odnoniki do mediw spoecznociowych znajduj si w elementach li.
Sprawimy, e bd wywietlane w jednym rzdzie:
.social ul li {
display: inline;
}
5. Teraz zdefiniujemy style samych odnonikw. Najpierw, aby mc ustawia ich
szeroko i wysoko, naley ustawi wasno display elementu kotwicy na
inline-block, a nastpnie ustawimy szeroko na 42 piksele i wysoko na 36 pikseli:
.social ul li a {n
display: inline-block;
width: 36px;
height: 42px;
}
6. Zastosujemy te technik podmiany tekstu odnonika na obraz, ktry pniej
dodamy za pomoc wasnoci background-image:
.social ul li a {
display: inline-block;
width: 48px;
height: 48px;
/* poniej znajduj si style dotyczce zastpowania tekstu odnonika obrazem */
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
7. W nastpnej kolejnoci dodamy do elementu a za pomoc wasnoci background-image
ikony mediw spoecznociowych, ktre poczylimy w jeden plik spritew
w rozdziale 2.:
.social-dribbble a,
.social-facebook a,
.social-twitter a {
background-image: url('../images/social.png');
background-repeat: no-repeat;
}
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
102
8. Kolejn czynnoci bdzie zmodyfikowanie regu CSS wygenerowanych podczas
czenia ikon w jeden plik. Reguy te okrelaj pooenie obrazu z ikonami:
.social-dribbble-hover{
background-position: 0 0;
width: 48px;
height: 48px;
}
.social-dribbble{
background-position: 0 -58px;
width: 48px;
height: 48px;
}
.social-facebook-hover{
background-position: 0 -116px;
width: 48px;
height: 48px;
}
.social-facebook{
background-position: 0 -174px;
width: 48px;
height: 48px;
}
.social-twitter-hover{
background-position: 0 -232px;
width: 48px;
height: 48px;
}
.social-twitter{
background-position: 0 -290px;
width: 48px;
height: 48px;
}
Najpierw zmienimy klas definiujc stan hover (.social-dribbble-hover)
i przypiszemy j do czy w postaci ikon:
.social-dribbble a:hover {
background-position: 0 0;
width: 48px;
height: 48px;
}
.social-dribbble{
background-position: 0 -58px;
width: 48px;
height: 48px;
}
.social-facebook a:hover{
background-position: 0 -116px;
width: 48px;
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
103
height: 48px;
}
.social-facebook{
background-position: 0 -174px;
width: 48px;
height: 48px;
}
.social-twitter a:hover{
background-position: 0 -232px;
width: 48px;
height: 48px;
}
.social-twitter{
background-position: 0 -290px;
width: 48px;
height: 48px;
}
9. Jako e szeroko i wysoko ustawilimy wczeniej, teraz moemy usun
te definicje:
.social-dribbble a:hover {
background-position: 0 0;
}
.social-dribbble{
background-position: 0 -58px;
}
.social-facebook a:hover{
background-position: 0 -116px;
}
.social-facebook{
background-position: 0 -174px;
}
.social-twitter a:hover{
background-position: 0 -232px;
}
.social-twitter{
background-position: 0 -290px;
}
10. Sekcj kontaktow przesuniemy na praw stron:
.contact {
float: right;
}
11. Zmienimy kolor tekstu i czy tekstowych na szary:
.contact, .contact a {
color: #ccc;
}
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
104
12. Nastpnie za pomoc wasnoci background-image dodamy ikony danych
kontaktowych, ktre poczylimy w jeden plik w rozdziale 2. Ale te ikony
wstawimy do pseudoelementu :before.
Pseudoelement :before dodaje element przed treci elementu, do ktrego
zosta zastosowany. Istnieje te pseudoelement :after, ktry dodaje element
za wyznaczonym elementem.
W kodzie HTML mona to przedstawi nastpujco:
<div>
<span> </span> <!-- :before -->
Tre
<span> </span> <!-- :after -->
</div>
Pseudoelementy nie dodaj prawdziwych elementw HTML i dlatego wanie
nazywa si je pseudoelementami. S one traktowane tak jak elementy,
ale w rzeczywistoci nimi nie s.
W CSS3 zmieniono troch skadni pseudoelementw w porwnaniu z wczeniejszymi
wersjami tej technologii. Obecnie elementy te definiuje si przy uyciu dwch
dwukropkw (::before i ::after), aby odrni je od pseudoklas, ktre definiuje
si za pomoc jednego dwukropka (:hover i :checked).
W poniszej regule dodajemy pseudoelement :before do elementu li, zmieniamy
te wasno display na inline-block, aby mc ustawia szeroko i wysoko:
.contact ul li:before {
content: '';
display: inline-block;
width: 24px;
height: 24px;
background-image: url('../images/contact.png');
margin-right: 0.1em;
}
13. Na koniec dostosowujemy pooenie ta zawierajcego ikony danych kontaktowych:
.contact-name:before {
background-position: 0 -29px;
}
.contact-phone:before {
background-position: 0 -63px;
}
.contact-email:before{
background-position: 0 5px;
}
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
105
Co uzyskalimy?
Zdefiniowalimy style stopki i dodalimy sekcje z odnonikami do profilw spoecznociowych
i danymi kontaktowymi. Teraz stopka powinna wyglda tak jak na poniszym zrzucie ekranu:
Definiowanie stylw dla mniejszych ekranw
Teraz zdefiniujemy style umoliwiajce wygodne przegldanie strony w urzdzeniach o mniej-
szych ekranach. W tym celu uyjemy zapyta medialnych CSS3.
Zanim zaczniemy definiowa wasne style, skopiujemy wszystkie zapytania medialne z pliku
layout.css systemu Skeleton do naszego pliku style.css. Reguy do skopiowania s pokazane
poniej:
/* Urzdzenia i przegldarki o rozmiarze okna mniejszym ni */
@media only screen and (max-width: 959px) {
}
/* Tablet w poziomie do 960 */
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Wszystkie urzdzenia przenone */
@media only screen and (max-width: 767px) {
}
/* Urzdzenia przenone w poziomie do tabletu w pionie */
@media only screen and (min-width: 480px) and (max-width: 767px) {
}
/* Urzdzenia przenone w pionie do urzdzenia przenone w poziomie */
@media only screen and (max-width: 479px) {
}
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
106
Czas na dziaanie rozmiar obszaru widoku
poniej 960 pikseli
Zdefiniujemy style przeznaczone dla przegldarek o szerokoci okna mniejszej ni 960 pikseli:
1. Definiowane style zostan umieszczone w poniszym zapytaniu medialnym, ktre
serwuje style przegldarkom o szerokoci mniejszej ni 960 pikseli:
@media only screen and (max-width: 959px) {
}
2. Jako e definiujemy style dla mniejszego urzdzenia, musimy zmieni szeroko
kolumn i kontenera na wzgldne jednostki. W tym przypadku szeroko kontenera
bdzie wynosi 100%, a szeroko kolumn wyniesie po 25%, bo kontener jest
podzielony na cztery kolumny:
.container {
width: 100%;
}
.portfolio .four.columns {
width: 25%;
}
3. Nastpnie ukryjemy menu nawigacyjne, aby uytkownicy mogli porusza si
po stronie za pomoc palcw:
label {
display: none;
}
4. Pod kadym wierszem ustawimy niewielki odstp za pomoc wasnoci margin-bottom
dodanej do elementu figure:
.portfolio .all {
margin-bottom: 15px;
}
5. Jako e ukrylimy nawigacj, musimy gdzie indziej przesun informacj o kategorii.
Przeniesiemy j na gr obrazu. Moemy do tego celu wykorzysta pseudoelement
:before oraz pobiera informacje z atrybutu HTML5 data-*:
.portofolio > figure:before {
content: attr(data-category);
font-size: 1em;
padding: 8px;
width: 100%;
color: #fff;
display: block;
font-weight: bold;
text-transform: capitalize;
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
107
background-color: rgba(42,47,51,0.8);
position: absolute;
}
6. W tym pomniejszonym obszarze widoku nie bdziemy ukrywa podpisw obrazw,
tylko je wywietlimy. W zwizku z tym ustawiamy wasno position na relative,
a translateX na 0%, ponadto ustawimy domylny kolor ta podpisom:
.portfolio figcaption {
position: relative;
-webkit-transform: translateX(0%);
-moz-transform: translateX(0%);
-ms-transform: translateX(0%);
-o-transform: translateX(0%);
transform: translateX(0%);
background-color: #3a3f43;
}
7. Za pomoc selektora nth-child wybierzemy elementy figure o nieparzystym
numerze oraz ustawimy im to na ciemniejsze ni domylne ustawione w punkcie 6,
dziki czemu podpisy bd si od siebie rni:
.portoflio figure:nth-child(odd) figcaption {
background-color: #2a2f33;
}
8. Na koniec dostosujemy margines w stopce:
.footer {
border-top: 1px solid #ccc;
margin-top: 42px;
padding: 28px;
}
Co uzyskalimy?
Dodalimy style dla okien o szerokoci mniejszej ni 960 pikseli. Efekt przedstawiono na na-
stpnej stronie.
Czas na dziaanie rozmiar obszaru widoku
od 767 do 480 pikseli
Teraz zdefiniujemy style dla okien o szerokoci od 767 do 480 pikseli. Rozmiary takie najcz-
ciej maj urzdzenia przenone i tablety.
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
108
1. Reguy stylistyczne bdziemy wpisywa w poniszym zapytaniu medialnym:
@media only screen and (min-width: 480px) and (max-width: 767px) {
}
2. Jako e obszar widoku zosta jeszcze bardziej zwony, musimy nada kolumnom
nieco wiksze wymiary procentowe. Podzielimy szeroko kontenera na p,
aby otrzyma dwie kolumny o szerokoci 50% szerokoci obszaru widoku:
.portfolio .four.columns {
width: 50%;
}
Co uzyskalimy?
Zdefiniowalimy styl dla obszarw widoku o szerokoci od 767 do 480 pikseli. Efekt tego zabiegu
przedstawia poniszy zrzut ekranu:
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
109
Czas na dziaanie rozmiar obszaru widoku
poniej 480 pikseli
Na koniec dodamy style dla obszarw widoku o szerokoci mniejszej ni 480 pikseli:
1. Style przeznaczone dla okien przegldarek o szerokoci poniej 480 pikseli
umiecimy w nastpujcym zapytaniu medialnym:
@media only screen and (max-width: 479px) {
}
2. Poniewa tym razem miejsca jest bardzo mao, zostawimy tylko jedn kolumn
o szerokoci 100% szerokoci obszaru widoku, aby zapewni dobr widoczno obrazu:
.portfolio .four.columns {
width: 100%;
}
3. W stopce usuniemy deklaracj wasnoci float i ustawimy wasno text-align
na center:
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
110
.footer {
text-align: center;
}
.contact, .social {
float: none;
display: block;
}
Co uzyskalimy?
Zdefiniowalimy style przeznaczone dla okien przegldarek o szerokoci mniejszej ni 480
pikseli. Na poniszym zrzucie ekranu wida efekt tych dziaa:
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
111
Testowanie strony w rnych rozmiarach
obszaru widoku
Strona jest gotowa i mona zacz jej testowanie. Sprawdzimy, jak wyglda w przegldarce kom-
putera stacjonarnego i w mniejszych przegldarkach poprzez zmniejszenie okna tej samej prze-
gldarki. Mona te uy jednego z poniszych specjalnych narzdzi:
Narzdzie Widok responsywny Firefoksa: https://developer.mozilla.org/en-
US/docs/Tools/Responsive_Design_View.
Responsinator: http://www.responsinator.com/.
Screenqueries: http://screenqueri.es/.
Najlepiej oczywicie testowa stron w prawdziwych urzdzeniach telefonach, tabletach,
czytnikach bo mona sprawdzi, jak dziaa w realnych warunkach. Ponisze zrzuty ekranu
przedstawiaj wygld naszej strony w urzdzeniach iPhone i iPad.
Poniszy zrzut ekranu przedstawia stron w telefonie iPhone w orientacji pionowej. W tak maym
obszarze widoku (320 480 pikseli) nawigacja jest ukryta i zastpiona nazw kategorii wy-
wietlon nad kad z miniatur. Take podpis kadego obrazu mona zobaczy pod obrazem.
Poniszy zrzut ekranu przedstawia nasz stron w telefonie iPhone w orientacji poziomej. Podob-
nie jak w orientacji pionowej, nawigacja jest ukryta. Ale jako e szeroko obszaru widoku jest
wiksza 480 320 pikseli wywietlone zostay dwie miniatury w jednym rzdzie.
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
112
Poniszy zrzut ekranu przedstawia nasz stron w iPadzie w orientacji pionowej. W tak szerokim
obszarze widoku (768 1024 pikseli) zmieszcz si cztery miniatury w rzdzie, a opisy s cay
czas widoczne i umieszczone pod miniaturami.
Na koniec zobaczymy jeszcze stron w iPadzie w orientacji poziomej. Wymiary obszaru widoku
wynosz 1024 768 pikseli, wic jest wystarczajco miejsca, aby wywietli po cztery miniatury
Kup ksik Pole ksik
Rozdzia 3. Ulepszanie strony portfolio przy uyciu CSS3
113
w rzdzie. W tym rozmiarze ekranu widoczna jest te nawigacja. Mona jej uywa do sortowania
obrazw.
Podsumowanie
Wanie ukoczylimy prace nad nasz pierwsz elastyczn stron zbudowan przy uyciu tech-
nologii CSS3. W rozdziale tym wykonalimy nastpujce czynnoci:
Dopracowalimy detale za pomoc nowych wasnoci wprowadzonych w CSS3,
takich jak box-sizing, border-radius oraz box-shadow.
Utworzylimy atrakcyjny efekt zamiany obrazu i tekstu za pomoc przeksztace
i przej CSS3.
Utworzylimy funkcj filtrowania portfolio za pomoc kombinacji selektorw CSS.
Dostosowalimy styl stron do rnych rozmiarw obszaru widoku za pomoc
zapyta medialnych CSS3.
W tym rozdziale poznalimy system szkieletowy Skeleton, w nastpnym za poznamy inny system
sucy do tworzenia elastycznych stron internetowych.
Kup ksik Pole ksik
Responsive Web Design. Nowoczesne strony WWW na przykadach
114
Kup ksik Pole ksik
Skorowidz
A
aplikacje LESS, 119
arkusze stylw SCSS, 203, 207
atrybut placeholder, 138
atrybuty danych HTML5, 63
B
Bootstrap, Patrz system Bootstrap
C
Compass, 198, 204
CSS3, 23, 71, 151
box-sizing, 73
przejcia, 93
pseudoklasy, 84
selektory strukturalne, 261
zapytania medialne, 18, 50, 105, 129, 212
D
definiowanie
domieszek LESS, 154
fontu, 127
stylw, 105
nagwka, 80
sekcji galerii, 173
sekcji referencji, 174
stopki, 167
dodawanie
plikw CSS, 57
plikw LESS, 124
regu stylistycznych, 157
rodzin fontw, 251
stylw nagwka, 164
stylw stopki, 167
wasnych fontw, 58
domieszki, 35, 39
Compassa, 251
LESS, 154
parametryczne, 36
dostosowywanie
grafik, 59, 117, 208
kolorw, 247
stylw, Patrz formatowanie
zmiennych, 248
dziaania arytmetyczne, 38
dziedziczenie selektorw, 40
E
edytor Sublime Text, 201
edytory kodu, 31
efekt hover, 56
elastyczne
portfolio, 43
skryptozakadki, 31
element
<img>, 21
<picture>, 20
elementy
blokowe, 72
HTML5, 63
rdliniowe, 72
em, 76
Kup ksik Pole ksik
Skorowidz
290
F
filtr portfolio, 98
FIR, Fahrner Image Replacement, 155
Firdaus Thoriq, 9
firma
Hivemind, 26
Swizzle, 28
fonty, 78, 250
fonty darmowe, 125
formatowanie
nagwka, 80, 254
stopki, 100
strony gwnej, 263
strony o usugach, 273
stylw
pola adresu, 175
sekcji powitalnej, 170
sekcji wezwania do dziaania, 172
stopki, 257
strony Kontakt, 181, 282
strony O nas, 282
strony z cennikami, 279
tytuu strony, 178
formaty fontw, 126
formularz, 140
formularz subskrypcji, 175
Foundation, Patrz system Foundation
funkcja translate(), 91
funkcje
kolorw Sassa, 247
LESS, 155
pomocnicze Compassa, 204, 255
G
galeria, 140
gem Foundation, 198
H
HTML5, 23, 63
HTML5 Shim, 47
I
ikony
kontaktowe, 62
mediw spoecznociowych, 60
systemu iOS, 53
interfejs uytkownika, 212
J
jednostka
em, 76
px, 74
jednostki miary CSS, 74
jzyk Ruby, 198
jQuery, 213
K
katalog roboczy, 46
Kelly Kevin, 11
kolorowanie skadni SCSS, 201
kompilatory kodu, 33
kompilowanie
kodu LESS, 123, 124
SCSS na CSS, 207
konfigurowanie
projektu Compassa, 204
cieki projektu, 206
konwertowanie jednostek, 76
L
LESS, 151
M
McBurnie Shawn, 11
metaznacznik viewport, 18, 47
model polowy CSS, 72
modyfikowanie
dokumentu HTML, 214
kolorw, 155
monitorowanie projektu, 246
Kup ksik Pole ksik
Skorowidz
291
N
nagwek, 79, 164
narzdzia Compassa, 204
narzdzie
CSS Sprite Generator, 61
Widok responsywny, 195
nawigacja, 56, 97, 130, 254
O
obliczanie wartoci em, 76
obrazy, 59
obsuga LESS, 42
obszar widoku
360 pikseli, 230, 236, 244
480 pikseli, 109, 190
767 pikseli, 107, 186
960 pikseli, 106
ograniczenia RWD, 20
Orbit, 213
osadzanie fontw, 58
zelik Volkan, 11
P
parametr initial-scale, 18
piksel, 74, 75
plik
_bootstrap.less, 123, 194
config.rb, 204, 206
index.html, 69
layout.css, 105
styles.css, 74
pliki
CSS, 57
LESS, 121
pobieranie systemu Skeleton, 46
polecenie gem, 199
preprocesory CSS, 32
LESS, 33
Sass, 39, 198
Stylus, 32
procent, 78
program
Adaptive Image, 23
CrunchApp, 201
przedrostki firmowe, 160
przegldarki internetowe, 30
przejcia CSS3, 93
przeksztacenia dwuwymiarowe CSS, 90
przyciski, 162
przygotowywanie grafik, 59, 117, 208
pseudoelement :before, 104
pseudoklasa CSS3
:checked, 84
:nth-child, 84
px, 74
R
regua @font-face, 125, 127
reguy stylistyczne, 90, 157
RGBA, 88
rozdzielczo ekranu, 76
rozmiar obszaru widoku, 106111
RWD, Responsive Web Design, 13, 17
narzdzia, 30
ograniczenia, 20
systemy, 2430
S
Sass, 198, 200
SCSS, 200
sekcja
galerii, 172
powitalna, 170
referencji, 174
wezwania do dziaania, 171
selektor
dziecka, 81
elementu siostrzanego, 82, 83
uniwersalny, 74
selektory strukturalne, 261
serwis Living.is, 27
skalowalna siatka, 48
skalowalne obrazy, 20
skalowalno systemu Bootstrap, 128
Skeleton, Patrz system Skeleton
skadnia
Sass, 200
SCSS, 200
sprite, 61, 255
stopka, 99, 167, 256
Kup ksik Pole ksik
Skorowidz
292
strona
galerii, 176
gwna, 170, 218, 262
kontaktowa, 179, 240, 282
O nas, 182, 236, 282
Usugi, 225, 272
z cennikiem, 230, 231, 278
z opisem usug, 225
strony
elastyczne, 17
responsywne, 17
skalowalne, 17
struktura
HTML, 64, 69, 136
strony kontaktowej, 240
strony O nas, 236
strony Usugi, 225
strony z cennikiem, 231
treci strony
galerii, 141
kontaktowej, 143
O nas, 147
o zasadach korzystania, 149
style
formularzy, 52
importowane, 194, 195
interfejsu uytkownika, 212
miniatur i podpisw, 85
nagwka, 80, 164
przyciskw, 51, 161
stopki, 167
typograficzne, 51
system Bootstrap, 25
aplikacje LESS, 119
dodawanie fontu, 125
przygotowywanie, 116
siatka, 128
skalowalno, 128
strona produktu, 115
style przyciskw, 162
tworzenie nawigacji, 130
zapytania medialne, 129
system Foundation, 26
dokumenty HTML, 214
funkcje kolorw, 247
instalacja, 199
nawigacja, 254
rozszerzanie systemu, 245
siatka, 209
strona firmowa, 197
style interfejsu uytkownika, 212
wtyczka do jQuery, 213
zapytania medialne, 212
system Skeleton, 25
elastyczne portfolio, 45
ikony iOS, 53
katalog roboczy, 46
skalowalna siatka, 48
style formularzy, 52
style przyciskw, 51
style typograficzne, 51
tworzenie dokumentu, 56
wstpny szablon, 47
zapytania medialne, 50
zwijanie kontenera, 49
systemy
RWD, 2430
siatkowe, 25
szkieletowe, 2430
szablon PSD, 54
szeroko okna, Patrz obszar widoku
szkielet, Patrz system
T
testowanie
strony, 111
witryny, 195, 286
tre strony, 143
tworzenie
arkuszy stylw SCSS, 203
dokumentw HTML, 56, 64, 131, 214
elastycznego portfolio, 45
filtra portfolio, 98
nawigacji, 130
plikw LESS, 121, 129
spritew, 255
strony produktu, 115
treci, 218
typy pl formularza, 140
U
ulepszanie strony
portfolio, 71
produktu, 151
ustawianie rodziny fontw, 78, 79
usuwanie regu stylistycznych, 193
Kup ksik Pole ksik
Skorowidz
293
W
W3C, World Wide Web Consortium, 20
wady
RWD, 20
systemw szkieletowych, 30
wartoci przej CSS3, 93
witryna Smashing Magazine, 19
wasne
arkusze stylw, 203
domieszki LESS, 154
rodziny fontw, 58, 125, 250
wasno box-sizing, 73
waciwoci modelu polowego, 73
wtyczka Orbit, 213
Z
zagniedanie regu, 34, 40
zakres, 156
zapytania medialne, 18, 50, 105, 129, 212
zmienianie obrazu, 94
zmienne, 35, 39, 152, 248
zwijanie kontenera, 49
Kup ksik Pole ksik
Skorowidz
294
Kup ksik Pole ksik

You might also like