Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive...

38

Transcript of Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive...

Page 1: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ
Page 2: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Tytuł oryginału: Responsive Web Design with HTML5 and CSS3, 2nd Edition

Tłumaczenie: Łukasz Piwko

ISBN: 978-83-283-2343-8

Copyright © Packt Publishing 2015.

First published in the English language under the title ‘Responsive Web Design with HTML5 and CSS3 – Second Edition – (9781784398934)’

Polish edition copyright © 2016 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 zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.

Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)

Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/trash2.zip

Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/trash2Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

Printed in Poland.

• Kup książkę• Poleć książkę • Oceń książkę

• Księgarnia internetowa• Lubię to! » Nasza społeczność

Page 3: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

Zespó wydania oryginalnego 11

O autorze 13

O korektorach merytorycznych 15

Przedmowa 17

Rozdzia 1. Podstawowe wiadomo ci o projektowaniu responsywnychstron internetowych 21

Rozpoczynamy przygod 22Projekt responsywny — definicja 23

Projektowanie responsywnych stron internetowych w pigu ce 23Ustawianie poziomu obs ugi przegl darek 23

Kilka uwag na temat narz dzi i edytorów tekstu 25Pierwszy przyk ad projektu responsywnego 26

Podstawowy plik HTML 26Okie zna obrazy 29Zapytania medialne wkraczaj do akcji 32Wady opisanego przyk adu 37

Podsumowanie 38

Rozdzia 2. Zapytania medialne: obs uga zró nicowanych obszarów roboczych 39

Dlaczego zapytania medialne s potrzebne do budowy uk adów responsywnych 40Podstawowa logika warunkowa w CSS 41

Sk adnia zapyta medialnych 41Zapytania medialne w znaczniku <link> 42

czenie zapyta medialnych 43Importowanie zapyta medialnych za pomoc dyrektywy @import 44Zapytania medialne w arkuszach stylów 44Co mo na sprawdza za pomoc zapyta medialnych 44

Poleć książkęKup książkę

Page 4: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

4

Modyfikowanie projektu strony za pomoc zapyta medialnych 46W zapytaniu medialnym mo na wpisa ka d regu CSS 48Zapytania medialne dla urz dze o du ej g sto ci pikseli 48

Metody organizacji i pisania zapyta medialnych 49Do czanie ró nych plików CSS za pomoc zapyta medialnych 49Zasadno dzielenia zapyta medialnych na wiele plików 50ródliniowe zagnie d anie zapyta medialnych 50

czy zapytania medialne w bloki czy rozprasza je w ró nych miejscach pliku 51Znacznik meta viewport 52Zapytania medialne — poziom 4. 54

Obs uga skryptów 54Urz dzenia wskazuj ce 55Funkcja sprawdzania obs ugi efektu hover 56Zapytania dotycz ce otoczenia 57

Podsumowanie 58

Rozdzia 3. Uk ady p ynne i obrazy responsywne 59

Konwertowanie uk adu sta ego na elastyczny 60Do czego s u y model flexbox 64Bloki ródliniowe i bia e znaki 65Elementy p ywaj ce 65W asno ci tabelaryczne 65

Flexbox — wprowadzenie 66Wyboista droga do flexboksa 66Obs uga flexboksa przez przegl darki 66

Podstawy flexboksa 68Idealne rodkowanie tekstu w pionie 68Przesuwanie elementów 70Zmienianie kolejno ci elementów 71Ró ne rodzaje uk adu flexboksa w ró nych zapytaniach medialnych 72W asno inline-flex 73Wyrównywanie tre ci we flexboksie 74W asno flex 79Lepka stopka 82Zmienianie kolejno ci elementów 83Podsumowanie wiadomo ci o flexboksie 88

Obrazy responsywne 88Wewn trzny problem obrazów responsywnych 88Proste prze czanie rozdzielczo ci za pomoc atrybutu srcset 89Zaawansowane techniki prze czania obrazów za pomoc atrybutu srcset 90Prezentowanie obrazów za pomoc elementu picture 91

Podsumowanie 92

Rozdzia 4. HTML5 i projekty responsywne 95

Znaczniki HTML5 s rozpoznawane przez wszystkie nowoczesne przegl darki 96Prawid owe rozpoczynanie strony HTML5 97

Znacznik doctype 97Element HTML i atrybut lang 98

Poleć książkęKup książkę

Page 5: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

5

Definiowanie ró nych j zyków 98Kodowanie znaków 98

Jak najlepiej pracowa z j zykiem HTML5 98Rozs dne podej cie do pisania kodu 99Oddajmy cze wszechmocnemu elementowi <a> 100

Nowe elementy semantyczne HTML5 101Element main 101Element <section> 102Element <nav> 102Element <article> 103Element <aside> 103Elementy <figure> i <figcaption> 103Elementy <details> i <summary> 104Element <header> 105Element <footer> 105Element <address> 106Uwaga na temat elementów h1 – h6 106

ródliniowe elementy semantyczne HTML5 107Element <b> 107Element <em> 107Element <i> 108

Elementy j zyka HTML, które uleg y dezaktualizacji 108Praktyczne wykorzystanie elementów strukturalnych HTML5 109

Rozs dne wybieranie elementów 109Standardy dost pno ci stron WCAG i WAI-ARIA 110

WCAG 110Standard WAI-ARIA 111Zapami taj tylko jedn rzecz 111Krok dalej z ARIA 112

Osadzanie elementów multimedialnych w HTML5 112Dodawanie do stron internetowych filmów i d wi ków 113Znaczniki audio i video dzia aj niemal identycznie 115

Responsywne odtwarzacze filmów i ramki wewn trzne 115Aplikacje sieciowe w trybie offline 116Podsumowanie 117

Rozdzia 5. CSS3: selektory, typografia, tryby kolorów i nowe funkcje 119

Nikt nie wie wszystkiego 120Struktura regu CSS 120Przydatne triki w CSS3 121

Uk ad wielokolumnowy w CSS3 dla projektu responsywnego 121Zawijanie tekstu 124

Obcinanie tekstu 125Tworzenie poziomych przewijanych okienek 126

Rozga zianie kodu CSS 128Zapytania o obs ug w asno ci 128

czenie warunków 129Biblioteka Modernizr 130

Poleć książkęKup książkę

Page 6: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

6

Nowe selektory CSS3 i sposób ich wykorzystania 132Selektory atrybutów w CSS3 132Szczegó owe selektory atrybutów CSS3 133Pu apki zwi zane z u ywaniem selektorów warto ci atrybutów 135Za pomoc selektorów warto ci atrybutów mo na wybiera identyfikatory

i klasy zaczynaj ce si od cyfr 136Strukturalne pseudoklasy CSS3 136

Selektor :last-child 137Selektory n-tego potomka 137Zasada dzia ania selektorów n-tego potomka 138Selektory n-tego potomka w projektach responsywnych 141Selektor negacji (:not) 143Selektor :empty 144Formatowanie pierwszego wiersza akapitu bez wzgl du na obszar roboczy 145

W asno ci u ytkownika i zmienne CSS 145Funkcja CSS calc 146Selektory, poziom 4. 147

Pseudoklasa :has 147Jednostki zale ne od rozmiaru obszaru roboczego 147

Typografia sieciowa 148Regu a @font-face 149Odwo anie do fontów w regule @font-face 149Uwagi na temat regu y @font-face i projektów responsywnych 151

Nowe formaty barw CSS3 i kana alfa 152Format RGB 152Format HSL 152Kana y alfa 154Modu kolorów poziomu 4. 154

Podsumowanie 155

Rozdzia 6. Spektakularny wygl d i CSS3 157

Cienie tekstu w CSS3 158Opuszczanie warto ci rozmycia, gdy jest niepotrzebna 159Definiowanie wielu cieni dla tekstu 159

Cienie elementów 159Cie wewn trz elementu 160Definiowanie wielu cieni dla elementu 161Warto spread 161

Gradienty t a 162Liniowe gradienty t a 162Gradienty promieniste 165Gradienty responsywne 166

Powtarzanie gradientu 167Gradientowe desenie t a 168Wiele obrazów t a jednocze nie 169

Wymiary t a 170W asno background position 170Zbiorcza w asno background 171

Poleć książkęKup książkę

Page 7: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

7

Obrazy t a o wysokiej rozdzielczo ci 172Filtry CSS 172

Dost pne filtry CSS 174czenie filtrów CSS 179

Uwaga na temat wydajno ci CSS 179Uwagi na temat masek CSS i przycinania grafiki 180

Podsumowanie 181

Rozdzia 7. Grafika SVG niezale na od rozdzielczo ci ekranu 183

Historia SVG w pigu ce 185Grafika, która jest dokumentem 186

Element g ówny SVG 187Przestrze nazw 188Elementy <title> i <desc> 188Element <defs> 188Element <g> 188Kszta ty SVG 189cie ki SVG 189

Najpopularniejsze programy i us ugi do tworzenia grafiki SVG 189Oszcz dzaj czas dzi ki us ugom oferuj cym ikony SVG 190

Wstawianie grafik SVG na strony internetowe 191Element <img> 191Element <object> 191Ustawianie grafik SVG w tle elementów 192Krótka uwaga na temat kodowania danych w URI 194Generowanie sprite’ów graficznych 195

Wstawianie dokumentów SVG bezpo rednio do kodu HTML 195Wielokrotne wykorzystywanie obiektów graficznych z symboli 196Osadzone grafiki SVG mog mie ró ne kolory w ró nych kontekstach 197Wielokrotne wykorzystywanie obiektów graficznych ze róde zewn trznych 198

Mo liwo ci ka dej z metod wstawiania grafik SVG na strony internetowe 199Problemy z przegl darkami 200

Inne mo liwo ci i dziwactwa SVG 201Animacje SMIL 201Stylizowanie grafik SVG za pomoc zewn trznych arkuszy stylów 202Formatowanie grafik SVG za pomoc arkuszy wewn trznych 203Animowanie grafik SVG za pomoc CSS 204

Animowanie SVG za pomoc JavaScript 205Prosty przyk ad animacji na bazie biblioteki GreenSock 206

Optymalizacja grafik SVG 207Filtry SVG 208Uwaga na temat zapyta medialnych w SVG 210

Porady implementacyjne 211Dodatkowe ród a informacji 212

Podsumowanie 212

Poleć książkęKup książkę

Page 8: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

8

Rozdzia 8. Przej cia, transformacje i animacje 215

Czym s przej cia CSS3 i jak z nich korzysta ? 216Rodzaje przej 218Zbiorcza w asno do definiowania przej 218Przej cia ró nych w asno ci w ró nych przedzia ach czasowych 219Funkcje czasu 219Zabawne typy przej dla stron responsywnych 221

Transformacje dwuwymiarowe CSS3 221scale 222translate 222rotate 225skew 226matrix 226W asno transform-origin 227

Transformacje trójwymiarowe 229Warto translate3d 232

Animacje w CSS3 236W asno animation-fill-mode 238

Podsumowanie 239

Rozdzia 9. Formularze w HTML5 i CSS3 241

Formularze HTML5 242Elementy formularzy HTML5 243

Atrybut placeholder 243Atrybut required 244Atrybut autofocus 244Atrybut autocomplete 246Atrybut list (i powi zany element datalist) 246

Rodzaje kontrolek HTML5 248Typ email 248Typ number 249Typ url 250Typ tel 252Typ search 253Typ pattern 253Typ color 254Kontrolki daty i godziny 254Typ range 257

Wype nienia dla starszych przegl darek 258Formatowanie formularzy HTML5 za pomoc arkuszy CSS3 259

Oznaczanie pól wymaganych 262Wype nianie t a 264

Podsumowanie 265

Poleć książkęKup książkę

Page 9: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

9

Rozdzia 10. Ogólne zasady projektowania responsywnych stron internetowych 267

Ogl danie projektu w przegl darce najszybciej jak to mo liwe 268Warto ci punktów kontrolnych powinny by ustalane w odniesieniu do projektu 268

Ogl daj i testuj projekt w prawdziwych urz dzeniach 269Na czym dok adnie polega stopniowe ulepszanie strony 270Wybór funkcji obs ugiwanych przez ró ne przegl darki 271

Równo funkcjonalna, nie estetyczna 271Wybór obs ugiwanych przegl darek 271

Stopniowanie funkcjonalno ci 272Implementacja warstw funkcjonalnych 272

czenie punktów kontrolnych CSS i JavaScript 273Unikaj szkieletów CSS w produkcji 275Kodowanie pragmatycznych rozwi za 275

Kiedy odno nik staje si przyciskiem 277Pisz jak najprostszy kod 278Ukrywanie, pokazywanie i wczytywanie tre ci na ró nych ekranach 278

Warstw wizualn strony definiuj za pomoc CSS 279Sprawdzanie sk adni 280Wydajno 281Co szykuje przysz o 282Podsumowanie 283

Skorowidz 284

Poleć książkęKup książkę

Page 10: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Spis tre ci

10

Poleć książkęKup książkę

Page 11: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

2

Zapytania medialne:obs uga zró nicowanych

obszarów roboczych

W poprzednim rozdziale przyjrzeli my si podstawowym sk adnikom responsywnej stronyinternetowej: p ynnemu uk adowi, p ynnym obrazom i zapytaniom medialnym.

Tutaj dok adnie przyjrzymy si zapytaniom medialnym, aby pozna ich wszystkie mo liwo cioraz elementy sk adni.

W tym rozdziale: dowiesz si , dlaczego zapytania medialne s potrzebne w RWD; poznasz sk adni zapyta medialnych; nauczysz si definiowa zapytania medialne za pomoc znacznika <link>,

dyrektywy @import oraz w plikach CSS; dowiesz si , jakie w a ciwo ci urz dze mo na testowa za pomoc zapyta

medialnych; nauczysz si wprowadza wizualne zmiany na stronie za pomoc zapyta

medialnych w zale no ci od ilo ci dost pnego miejsca na ekranie; poznasz argumenty przedstawiane w dyskusji, czy zapytania medialne powinno si

grupowa w jednym miejscu, czy wpisywa w tych miejscach, w których spotrzebne;

Poleć książkęKup książkę

Page 12: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

40

nauczysz si korzysta ze znacznika meta viewport, dzi ki któremu zapytaniamedialne mog dzia a zgodnie z przeznaczeniem tak e w urz dzeniachz systemami iOS i Android;

poznasz kolejne funkcje proponowane do dodania do nast pnych wersjispecyfikacji zapyta medialnych.

Specyfikacja CSS3 sk ada si z pewnej liczby modu ów. Jednym z nich jest Media Queries(Level 3), czyli zapytania medialne. Za ich pomoc mo na wybiera , które zestawy regu CSSmaj zosta zastosowane w urz dzeniach o okre lonych mo liwo ciach. Przyk adowo: wystarczytylko kilka wierszy kodu CSS, aby zmieni sposób wy wietlania strony w odpowiedzi na zmianszeroko ci obszaru roboczego, wspó czynnika proporcji ekranu, orientacji (pionowa lub po-zioma) itd.

Zapytania medialne s dobrze obs ugiwane przez przegl darki. Obs uguj je w a ciwiewszystkie aplikacje oprócz przedpotopowych potworów (od IE 8 w dó ). Krótko mówi c: niema adnego powodu, aby si przed nimi broni !

Specyfikacje W3C przechodz przez proces ratyfikacji w konsorcjum W3C (je li masz wolny dzie , zapoznaj siz przebiegiem tego procesu przedstawionym na stronie: http://www.w3.org/2005/10/Process-20051014/tr).Mówi c najkrócej: ka da specyfikacja najpierw jest tzw. projektem roboczym (ang. Working Draft —WD), potem przechodzi w faz rekomendacji kandyduj cej (ang. Candidate Recommendation — CR),nast pnie zamienia si w propozycj rekomendacji (ang. Proposed Recommendation — PR), a na koniec, powielu latach prac, otrzymujemy oficjaln rekomendacj W3C (ang. W3C Recommendation — REC). Wy-nika z tego, e bezpieczniejszymi modu ami s te, które osi gn y wy szy stopie dojrza o ci. Przyk adowo:modu transformacji CSS poziomu 3. (http://www.w3.org/TR/css3-3d-transforms/) osi gn status projekturoboczego w marcu 2009 r., w zwi zku z czym jest on obs ugiwany znacznie gorzej ni modu y b d cena etapie CR, takie jak zapytania medialne.

Dlaczego zapytania medialne s potrzebnedo budowy uk adów responsywnychZapytania medialne CSS3 umo liwiaj tworzenie regu przeznaczonych tylko dla urz dze o okre-lonych mo liwo ciach lub do zastosowania wy cznie w wybranych warunkach. W specyfika-

cji W3C zapyta medialnych (http://www.w3.org/TR/css3-mediaqueries/) mo na przeczytanast puj ce wprowadzenie do tej technologii:

„Zapytanie medialne sk ada si z cz ci okre laj cej typ medium i opcjonalnie kilkuwyra e , które sprawdzaj , czy zasz y warunki uruchamiaj ce konkretne regu y.W ród w a ciwo ci urz dze , jakie mo na sprawdza za pomoc zapyta medialnych,znajduj si : szeroko , wysoko i kolor. Przy u yciu zapyta medialnych mo nadostosowa prezentacj do wybranych rodzajów urz dze wyj ciowych bezzmieniania samej tre ci”.

Poleć książkęKup książkę

Page 13: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

41

Bez zapyta medialnych, za pomoc samych arkuszy stylów, nie da oby si radykalnie zmie-nia warstwy wizualnej strony. Dzi ki tym zapytaniom mo emy pisa regu y CSS przygotowuj cenasz stron na takie ewentualno ci, jak zmiana orientacji ekranu, zmniejszenie lub powi k-szenie obszaru roboczego itd.

Cho uk ad p ynny równie sprawia, e projekt prezentuje si lepiej przy ró nych szeroko-ciach ekranu, to je li wzi pod uwag ró norodno urz dze , czasami potrzebne s bar-

dziej kompleksowe rozwi zania. Ich wdro enie jest mo liwe dzi ki zapytaniom medialnym.Traktuj je jak podstawow logik warunkow CSS.

Podstawowa logika warunkowa w CSSWszystkie prawdziwe j zyki programowania zawieraj konstrukcje pozwalaj ce wybra jednlub wi cej ga zi kodu do wykonania w zale no ci od pewnych warunków. Najcz ciej majone posta powszechnie u ywanych instrukcji if-else.

Je li kod ród owy j zyków programowania k uje Ci w oczy, nie musisz si przejmowa . To,o czym teraz pisz , to bardzo prosta koncepcja. Pos ugujesz si ni np., gdy prosisz kolegz pracy, aby zamówi Ci co w kawiarni: „Je li maj babeczki z potrójn czekolad , to we mijedn , a je li nie, to we mi kawa ek ciasta marchewkowego”. Jest to prosta instrukcja warun-kowa z dwoma mo liwymi wynikami (i ka dy jest tak samo przyjemny).

W czasie, gdy pisz t ksi k , w CSS nie ma instrukcji logicznych ani adnych innych kon-strukcji typowych dla prawdziwych j zyków programowania. P tle, funkcje, iteracja i skom-plikowane obliczenia matematyczne nadal nale do wiata procesorów CSS (wspomina em juo bardzo ciekawej ksi ce o Sass pt. Sass i Compass. Praktyczny przewodnik dla projektantów?).A jednak zapytania medialne s rodzajem mechanizmu umo liwiaj cego wyra anie prostejlogiki warunkowej w CSS. Zawarte w nich regu y znajduj zastosowanie tylko wtedy, gdy zostanspe nione okre lone warunki. Funkcje programistyczne w przygotowaniu

Popularno preprocesorów CSS nie umkn a uwadze ludzi pracuj cych nad specyfikacjami tej technologii.Trwaj ju prace nad wst pn wersj robocz specyfikacji zmiennych CSS: http://www.w3.org/TR/css-variables/.

Niestety, obecnie obs uguje je tylko przegl darka Firefox, wi c na razie zmiennych nie mo na wykorzy-stywa w realnych projektach.

Sk adnia zapyta medialnychJak wygl da zapytanie medialne i — co wa niejsze — jak ono dzia a?

Wprowad poni szy kod na samym dole dowolnego pliku CSS i obejrzyj w przegl darce stroninternetow , do której jest on do czony. Ewentualnie otwórz przyk adowy plik z folderu 02-01:

Poleć książkęKup książkę

Page 14: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

42

body { background-color: grey;}@media screen and (min-width: 320px) { body { background-color: green; }}@media screen and (min-width: 550px) { body { background-color: yellow; }}@media screen and (min-width: 768px) { body { background-color: orange; }}@media screen and (min-width: 960px) { body { background-color: red; }}

Otwórz teraz stron internetow w przegl darce i zmie wielko okna. Kolor strony zmieni siw zale no ci od aktualnych wymiarów obszaru roboczego. Bardziej szczegó owy opis sk adni zapy-ta medialnych zamie ci em dalej. Najpierw chcia bym Ci pokaza , jak i gdzie mo na ich u ywa .

Zapytania medialne w znaczniku <link>Je eli pracowa e ju z arkuszami stylów CSS 2, to wiesz, e mo na w nich zadeklarowa rodzajurz dzenia (u ywaj c s ów kluczowych screen i print) w atrybucie media znacznika <link>.Tak deklaracj nale y umie ci wewn trz elementu <head>; ma ona nast puj c posta :

<link rel="stylesheet" type="text/css" media="screen" href="screen-styles.css">

Zapytania medialne pozwalaj na dopasowanie formatowania strony do mo liwo ci i w a ciwo ciurz dzenia, a nie tylko do jego typu. Mo na to potraktowa jak skierowane do przegl darkizapytanie. Je li przegl darka „stwierdzi”, e podane w zapytaniu warunki zosta y spe nione,nada w a ciwe formatowanie. Je eli tak nie b dzie, zastosowane zostanie inne. Zamiast wysy a doprzegl darki zapytanie: „Czy jeste ekranem?” — co by o dawniej szczytem mo liwo ci CSS 2— zapytania medialne pozwalaj nam na wi ksz dociekliwo . Za ich pomoc mo emy zapyta :„Czy jeste ekranem w orientacji pionowej?”. Rzu okiem na poni szy przyk ad:

<link rel="stylesheet" media="screen and (orientation: portrait)"href="portrait-screen.css" />

Poleć książkęKup książkę

Page 15: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

43

Najpierw zapytanie medialne prosi o potwierdzenie typu urz dzenia („Czy jeste ekranem?”),a nast pnie w a ciwo ci („Czy twój obraz ma orientacj pionow ?”). Arkusz stylów portrait--screen.css zostanie za adowany dla dowolnego urz dzenia w trybie pionowym i zignorowanyw innych. Istnieje mo liwo odwrócenia zapytania poprzez dodanie na pocz tku zapytaniamedialnego s owa kluczowego not. Ilustruje to ni ej przedstawiona deklaracja, która odwracadzia anie kodu z poprzedniego przyk adu i powoduje za adowanie pliku, je li tylko danyekran nie ma orientacji pionowej:

<link rel="stylesheet" media="not screen and (orientation: portrait)"href="portrait-screen.css" />

czenie zapyta medialnychIstnieje równie mo liwo po czenia wielu wyra e . Rozszerzmy nasz przyk ad pierwszegozapytania medialnego i ograniczmy stosowanie pliku do urz dze , które maj obszar operacyjnywi kszy ni 800 pikseli.

<link rel="stylesheet" media="screen and (orientation: portrait)and (min-width: 800px)" href="800wide-portrait-screen.css" />

Mo emy te przygotowa ca list zapyta medialnych. Je li dowolne z wypisanych w zapytaniuwarunków b d zgodne z prawd , plik zostanie za adowany. Je li aden z nich nie zostaniespe niony, regu y nie zostan odczytane:

<link rel="stylesheet" media="screen and (orientation: portrait) and(min-width: 800px), projection" href="800wide-portrait-screen.css" />

W tym miejscu nale y zwróci uwag na dwa wa ne aspekty: po pierwsze, ka de zapytaniemedialne jest oddzielone przecinkiem, po drugie, atwo zauwa y , e po s owie kluczowymprojection nie wyst puj adne uzupe niaj ce s owa and i nie ma warto ci podanych w nawiasach.Oznacza to, e przy braku zdefiniowanych warto ci dane zapytanie medialne b dzie dotyczywszystkich typów danego urz dzenia. W naszym przyk adzie formatowanie to b dzie dotyczywszystkich projektorów.

W zapytaniach medialnych mo na u ywa dowolnej jednostki miary CSS. Do najcz ciej stosowanych nalepiksele (px), ale równie dobrze mo na si pos ugiwa jednostkami em i rem. Wi cej informacji na tentemat mo na znale w moim artykule dost pnym pod adresem: http://benfrain.com/just-use-pixels.

Je li wi c chcesz ustawi punkt kontrolny na 800 pikselach (tylko wyra onych w jednostce em), po pro-stu podziel liczb pikseli przez 16. Na przyk ad 800px jest równe 50em (800/16=50).

Poleć książkęKup książkę

Page 16: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

44

Importowanie zapyta medialnychza pomoc dyrektywy @importMo emy te u y dyrektywy @import, która je li zostan spe nione pewne warunki, wczytaarkusz stylów w innym arkuszu. Nast puj cy kod za adowa by arkusz phone.css, ale tylko je liurz dzenie, w którym strona zosta a otwarta, mia oby obszar roboczy nie szerszy ni 360 pikseli:

@import url("phone.css") screen and (max-width:360px);

Pami taj, e u ycie dyrektywy @import oznacza dodatkowe danie HTTP (które wp ywa naszybko wczytywania strony), polegaj wi c na tej metodzie tylko okazyjnie.

Zapytania medialne w arkuszach stylówWiesz ju , jak stosowa zapytania medialne w odno nikach do plików CSS umieszczonych w na-g ówku (mi dzy znacznikami <head> i </head>) dokumentu HTML oraz za pomoc dyrektywy@import. Jednak najcz ciej zapytania medialne wpisuje si bezpo rednio w arkuszach stylów.Gdyby my np. dodali do arkusza stylów poni szy kod, to wszystkie elementy <h1> na stronie sta-yby si zielone, ale tylko w urz dzeniach o szeroko ci ekranu nieprzekraczaj cej 400 pikseli.

@media screen and (max-device-width: 400px) { h1 { color: green }}

Najpierw za pomoc regu y @media informujemy przegl dark , e tworzymy zapytanie me-dialne, a nast pnie okre lamy, jakie urz dzenia nas interesuj . W tym przyk adzie odnosimy sitylko do ekranów (a wi c np. nie do druku — print). Pó niej w nawiasie podajemy konkretnew a ciwo ci wybranego urz dzenia. Dalej znajduj si ju normalne regu y CSS.

W tym miejscu powinienem chyba podkre li , e oznaczanie typu mediów jako screen jestopcjonalne. Oto odpowiedni fragment specyfikacji, który o tym mówi:

„Je li zapytanie medialne odnosi si do wszystkich rodzajów mediów, to mo naw jego definicji pos u y si sk adni skrócon , tzn. mo na opu ci s owo kluczoweall (wraz ze znajduj cym si za nim s owem and). Innymi s owy: je li typ mediównie zostanie okre lony, to znaczy, e chodzi o wszystkie typy mediów”.

Je eli wi c nie piszesz stylów przeznaczonych wy cznie dla konkretnego rodzaju mediów,mo esz opu ci cz on screen and. Robi to we wszystkich nast pnych przyk adach.

Co mo na sprawdza za pomoc zapyta medialnychProjektanci stron responsywnych najcz ciej u ywaj zapyta medialnych do sprawdzania szero-ko ci obszaru roboczego (width). Z mojego do wiadczenia wynika, e pozosta e parametry(mo e z wyj tkiem okazjonalnego sprawdzania rozdzielczo ci ekranu i wysoko ci obszaru robo-

Poleć książkęKup książkę

Page 17: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

45

czego) nie s zbyt u yteczne. Na wszelki wypadek jednak zamieszczam pe n list parame-trów, które mo na sprawdza za pomoc zapyta medialnych poziomu 3. Cz z nich mo eCi si przyda :

width — szeroko obszaru roboczego. height — wysoko obszaru roboczego. device-width — szeroko powierzchni wy wietlania (b dziemy j traktowa

jako szeroko urz dzenia). device-height — wysoko powierzchni wy wietlania (b dziemy j traktowa

jako wysoko urz dzenia). orientation — ta w asno s u y do sprawdzenia, czy urz dzenie jest ustawione

poziomo, czy pionowo. aspect-ratio — stosunek szeroko ci obszaru roboczego do jego wysoko ci. Stosunek

16:9 mo na zapisa jako aspect-ratio: 16/9. device-aspect-ratio — parametr podobny do aspect-ratio, tylko odnosz cy si

do szeroko ci i wysoko ci powierzchni wy wietlania urz dzenia, a nie do obszaruroboczego.

color — liczba bitów przypadaj ca na ka dy sk adnik koloru. Przyk adowaw asno min-color:16 sprawdza, czy urz dzenie wy wietla 16-bitowe kolory.

color-index — liczba wpisów w tabeli przegl du kolorów urz dzenia. Warto cimusz by liczbami i nie mog by ujemne.

monochrome — parametr s u cy do sprawdzania, ile bitów przypada na pikselw monochromatycznym buforze klatek. Warto ci jest liczba ca kowita,np. 2 — ta liczba nie mo e by ujemna.

resolution — ta opcja s u y do sprawdzania rozdzielczo ci ekranu lub wydruku,np. deklaracja min-resolution: 300dpi. W asno ta przyjmuje te warto ciwyra one w liczbie plamek na centymetr (ang. dots per centimeter), np. deklaracjamin-resolution: 118dpcm.

scan — ten parametr odnosi si g ównie do telewizorów i s u y do sprawdzania,czy stosowane jest skanowanie progresywne, czy przeplatane. Przyk adowo: dotelewizora 720p HD (litera p w 720p oznacza wy wietlanie „progresywne”) mo nasi odwo a za pomoc deklaracji scan: progressive, podczas gdy do telewizora1080i HD (litera i w 1080i oznacza wy wietlanie z przeplotem) mo na si odniedeklaracj scan: interlace.

grid — ta w asno pomaga ustali , czy urz dzenie dzia a na podstawie siatkipunktów, czy bitmapy.

Wszystkie te opcje, z wyj tkiem scan i grid, mo na poprzedzi przedrostkami min i max, aby stwo-rzy deklaracje zakresów. W ramach przyk adu rozwa my nast puj cy fragment kodu:

@import url("tiny.css") screen and (min-width:200px) and (max-width:360px);

Poleć książkęKup książkę

Page 18: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

46

Jak wida , przedrostki minimum (min) i maksimum (max) zosta y u yte z w asno ci width, tymsamym zosta zdefiniowany zakres. Plik tiny.css zostanie odczytany tylko w przypadku urz dzewyposa onych w ekrany z obszarem roboczym nie w szym ni 200 pikseli i nie szerszym ni360 pikseli.

Elementy wycofywane w Media Queries CSS poziomu 4.

Warto wiedzie , e w szkicu specyfikacji Media Queries poziomu 4. kilka w asno ci oznaczono do usuni cia(http://dev.w3.org/csswg/mediaqueries-4/#mf-deprecated). Najwa niejsze z nich to: device-height,device-width oraz device-aspect-ratio. Przegl darki nadal b d je obs ugiwa , ale zaleca si nieu ywa ich ju w nowych arkuszach stylów.

Modyfikowanie projektu stronyza pomoc zapyta medialnychArkusze stylów zosta y zaprojektowane tak, aby style zadeklarowane ni ej zast powa y stylezdefiniowane wy ej (chyba e te znajduj ce si wy ej dotycz bardziej konkretnych frag-mentów strony). Mo emy bez trudu ustanowi na samym pocz tku arkusza podstawowe style,które b d dotyczy wszystkich wersji naszego projektu, a nast pnie nadpisa interesuj ce nasfragmenty za pomoc zapyta medialnych umieszczonych w dolnej cz ci dokumentu. Przyk a-dowo: najpierw mo emy zdefiniowa odno niki czysto tekstowe (albo o zmniejszonym rozmiarzepisma) w nawigacji przeznaczonej dla urz dze o w skim obszarze roboczym, a nast pnie nadpi-sa te regu y zapytaniem medialnym, które powi kszy elementy nawigacji i doda do nich ikonyw urz dzeniach o wi kszym ekranie.

Zobaczmy, jak to mo e wygl da w praktyce (przyk ad 02-02). Najpierw spójrz na kod HTML:

<a href="#" class="CardLink CardLink_Hearts">Kier</a><a href="#" class="CardLink CardLink_Clubs">Trefl</a><a href="#" class="CardLink CardLink_Spades">Pik</a><a href="#" class="CardLink CardLink_Diamonds">Karo</a>

Teraz przyjrzyj si regu om CSS:

.CardLink { display: block; color: #666; text-shadow: 0 2px 0 #efefef; text-decoration: none; height: 2.75rem; line-height: 2.75rem; border-bottom: 1px solid #bbb; position: relative;}

Poleć książkęKup książkę

Page 19: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

47

@media (min-width: 300px) { .CardLink { padding-left: 1.8rem; font-size: 1.6rem; }}

.CardLink:before { display: none; position: absolute; top: 50%; transform: translateY(-50%); left: 0;}

.CardLink_Hearts:before { content: "�";}

.CardLink_Clubs:before { content: "�";}

.CardLink_Spades:before { content: "�";}

.CardLink_Diamonds:before { content: "�";}

@media (min-width: 300px) { .CardLink:before { display: block; }}

Pobieranie przyk adów kodu

Wszystkie pliki z przyk adami kodu ród owego mo na pobra z serwera FTP wydawnictwa Helion podadresem: ftp://ftp.helion.pl/przyklady/trash2.zip.

Tak te odno niki b d wygl da w urz dzeniu o niewielkiej szeroko ci (patrz rysunek na na-st pnej stronie).

Poleć książkęKup książkę

Page 20: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

48

A taki wygl d przybior w szerszych urz dzeniach:

W zapytaniu medialnym mo na wpisa ka d regu CSSNale y pami ta , e w zapytaniu medialnym mo na wpisa wszystko, co wpisa oby si w zwyk ymarkuszu stylów. Dzi ki temu mo liwe jest ca kowite zmienienie uk adu i wygl du strony w zale -no ci od warunków jej wy wietlania (np. zmiennych rozmiarów obszaru roboczego).

Zapytania medialne dla urz dze o du ej g sto ci pikseliZapyta medialnych cz sto u ywa si te do zmieniania stylów w przypadkach, gdy strona jestogl dana w urz dzeniach o bardzo wysokiej rozdzielczo ci. Spójrz na poni szy kod:

@media (min-resolution: 2dppx) { /* Style. */}

To zapytanie stanowi, e zawarte w nim regu y maj zosta zastosowane tylko w urz dzeniacho rozdzielczo ci ekranu wynosz cej 2 plamki na piksel (2dppx). Dotyczy to iPhone’a 4 (urz dzeniafirmy Apple z ekranami o du ej g sto ci pikseli nazywaj si Retina) i wielu urz dze z sys-temem Android. W razie potrzeby mo na zmniejszy warto dppx, aby zapytanie odnosi o sido wi kszej liczby urz dze .

Poleć książkęKup książkę

Page 21: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

49

Je li przy definiowaniu zapytania z minimaln rozdzielczo ci zale y Ci na obs udze jak najwi kszej liczbyurz dze , dodaj przedrostki producentów za pomoc jakiego s u cego do tego narz dzia. Nie przejmuj si ,je li nie wiesz, co to s przedrostki producentów, poniewa wkrótce wszystko wyja ni .

Metody organizacjii pisania zapyta medialnychNa chwil zmienimy temat i przyjrzymy si innym metodom pisania i organizacji zapytamedialnych w arkuszach stylów. Ka da z nich ma pewne zalety i wady. Warto o nich wiedzie ,nawet je li teraz wydaje Ci si , e nie s potrzebne w Twoich projektach.

Do czanie ró nych plików CSSza pomoc zapyta medialnychDla przegl darki internetowej arkusze stylów s zasobami „blokuj cymi renderowanie strony”.Przegl darka musi je pobra z serwera i przeanalizowa , aby móc wy wietli stron na ekranie.

Nowoczesne przegl darki internetowe s przynajmniej wystarczaj co „bystre”, e rozró niaj , któ-re style (do czone w nag ówku przy u yciu zapyta medialnych) trzeba przetworzy natychmiast,a które mo na od o y na pó niej, gdy zostanie zako czona wst pna faza renderowania.

Przegl darki mog od o y na pó niej wczytywanie stylów do czonych do strony przy u yciuniemaj cych zastosowania zapyta medialnych (np. je li ekran jest zbyt ma y, by dane zapytaniezosta o zastosowane) i wróci do nich po zako czeniu wst pnego wczytywania strony. W tensposób zyskuje si nieco na wydajno ci.

Wi cej informacji na ten temat mo na znale w portalu dla programistów Google na stronie:https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-blocking-css.

Chcia bym jednak zwróci Twoj uwag na nast puj cy fragment tekstu:„Pami taj, e poj cie zasób blokuj cy renderowanie odnosi si tylko do faktu,e przegl darka wstrzymuje pierwsze renderowanie strony z powodu tego zasobu.

Niezale nie od tego, czy nast puje czy nie, przegl darka zawsze pobiera zasóbCSS, chocia w przypadku zasobów nieblokuj cych z ni szym priorytetem”.

Powtórzmy zatem: wszystkie do czone do strony pliki zostan pobrane, ale przegl darka niemusi wstrzymywa renderowania, je li niektóre z nich nie s natychmiast potrzebne.

Poleć książkęKup książkę

Page 22: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

50

Zatem nowoczesna przegl darka wczytuj ca responsywn stron internetow (zobacz przy-k ad z folderu 02-03) z czterema arkuszami stylów do czonymi przy u yciu czterech ró nychzapyta medialnych (zawieraj cymi ró ne style dla poszczególnych przedzia ów rozmiarowychurz dze ) pobierze wszystkie te pliki, ale najprawdopodobniej najpierw przetworzy ten, któryjest natychmiast potrzebny do renderowania strony.

Zasadno dzielenia zapyta medialnych na wiele plikówCho , jak ju wiesz, dzielenie zapyta medialnych ma pewne zalety, nie zawsze korzy ci te swarte zachodu (oczywi cie nie licz c preferencji projektanta w zakresie dzielenia kodu naosobne pliki).

Tak czy inaczej, ka dy dodatkowy plik oznacza konieczno wys ania do serwera jednego -dania HTTP wi cej, co w niektórych sytuacjach spowalnia proces adowania strony. W inter-necie nic nigdy nie jest atwe! Dlatego zanim zdecydujesz si na zastosowanie tej metody,zawsze dok adnie wszystko przemy l i przetestuj wydajno swojej strony w ró nych urz -dzeniach.

Sam post puj w ten sposób, e je li nie mam nadmiaru czasu do wykorzystania, jest to ostat-nia technika, za pomoc której próbuj przyspieszy dzia anie swoich stron. Najpierw wyko-nuj nast puj ce czynno ci:

kompresuj wszystkie obrazy; cz i minimalizuj wszystkie skrypty; kompresuj algorytmem gzip wszystkie serwowane zasoby; buforuj statyczn tre w sieciach CDN; usuwam wszystkie niepotrzebne regu y CSS.

Dopiero potem mog rozwa y mo liwo wydzielenia zapyta medialnych do osobnych pli-ków w celu zyskania na wydajno ci.

Algorytm gzip s u y do kompresowania i dekompresowania plików. Ka dy szanuj cy si serwer powinienumo liwia kompresowanie za jego pomoc plików CSS, dzi ki czemu z serwera do przegl darki (w której na-st puje dekompresja) przesy ane s mniejsze ilo ci danych. Dobre wprowadzenie do gzip mo na znalew Wikipedii: https://pl.wikipedia.org/wiki/Gzip.

ródliniowe zagnie d anie zapyta medialnychPrawie zawsze, nie licz c pewnych ekstremalnych przypadków, zalecam wstawianie zapytamedialnych do istniej cych arkuszy stylów, obok „normalnych” regu .

Poleć książkęKup książkę

Page 23: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

51

Je li Tobie równie to odpowiada, musisz rozwa y jeszcze jedn kwesti : czy zapytania me-dialne powinno si definiowa bezpo rednio pod zwi zanymi z nimi selektorami, czy w ca kiemosobnych blokach na ko cu pliku? Ciesz si , e pytasz.

czy zapytania medialne w blokiczy rozprasza je w ró nych miejscach plikuJestem zwolennikiem pisania zapyta medialnych bezpo rednio pod „normalnymi” regu ami.Powiedzmy np., e chcemy modyfikowa szeroko kilku elementów w kilku miejscach arkuszastylów w zale no ci od szeroko ci obszaru roboczego. Ja zastosowa bym takie rozwi zanie:

.thing { width: 50%;}

@media screen and (min-width: 30rem) { .thing { width: 75%; }}

/* Kilka innych regu . */

.thing2 { width: 65%;}@media screen and (min-width: 30rem) { .thing2 { width: 75%; }}

Na pierwszy rzut oka ten kod wygl da makabrycznie. S w nim dwa zapytania medialne od-nosz ce si do minimalnej szeroko ci ekranu 30rem. Przecie takie wielokrotne powtarzaniedeklaracji @media to czyste marnotrawstwo. Czy nie powinienem wi c zach ca do grupowaniazapyta medialnych w pojedyncze bloki, jak poni ej?

.thing { width: 50%;}

.thing2 { width: 65%;}

Poleć książkęKup książkę

Page 24: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

52

@media screen and (min-width: 30rem) { .thing { width: 75%; } .thing2 { width: 75%; }}

Niew tpliwie tak te mo na, ale wed ug mnie taka organizacja kodu utrudnia jego modyfiko-wanie i poprawianie. Oczywi cie nie ma jedynego poprawnego sposobu zapisywania zapytamedialnych, ale ja preferuj wstawianie ich bezpo rednio pod regu ami, których dotycz ,dzi ki czemu wszystkie warianty danej regu y znajduj si w jednym miejscu. Gdy zechcznale deklaracj odpowiadaj c wybranej regule, nie musz potem przeszukiwa ca egoarkusza stylów.

Procesory CSS maj jeszcze wygodniejsze funkcje, poniewa pozwalaj na zagnie d anie zapyta medialnychw regu ach. W ksi ce Sass i Compass. Praktyczny przewodnik dla projektantów po wi ci em temu te-matowi ca y rozdzia .

Jednym z logicznych argumentów przeciw preferowanej przeze mnie metodzie jest kwestiaobj to ci kodu. Ale czy na pewno sam rozmiar pliku jest wa ny do tego stopnia, by zniech cinas do organizowania arkuszy stylów w taki sposób? Wiadomo, e nikt nie chce wysy aswoim u ytkownikom rozd tych do gigantycznych rozmiarów plików. Z drugiej strony, kompresjagzip (kompresowane powinny by wszystkie zasoby, jakie da si skompresowa ) sprawia, ewzrost rozmiaru pliku CSS staje si nieistotny. Sprawdzi em to na wiele sposobów, wi c je li tentemat szczególnie Ci interesuje, mo esz przeczyta mój artyku : http://benfrain.com/inline-or--combined-media-queries-in-sass-fight/. Ogólnie chodzi w nim o to, e moim zdaniem kwestiarozmiaru pliku w dyskusji o tym, jak metod definiowania zapyta medialnych stosowa , jestnieistotna.

Je li chcesz wpisywa zapytania medialne bezpo rednio pod regu ami, których dotycz , i jednocze niewszystkie regu y zwi zane z danym zapytaniem mie w jednym bloku, to mo esz skorzysta z narz dzikompilacyjnych (w tej chwili Grunt i Gulp maj odpowiednie wtyczki).

Znacznik meta viewportJe li chcesz maksymalnie wykorzysta mo liwo ci zapyta medialnych, musisz sprawi , abyurz dzenia z mniejszymi ekranami wy wietla y strony w odpowiednich dla siebie wymiarach(a nie np. prezentowa y strony o szeroko ci 980 pikseli, które trzeba by by o powi ksza i po-mniejsza ).

Poleć książkęKup książkę

Page 25: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

53

Kiedy w 2007 r. firma Apple wyprodukowa a iPhone’a, wprowadzi a wraz z nim w asny znacznikmeta viewport, który jest ju obs ugiwany przez system Android i wiele innych platform.Znacznik ten s u y do sygnalizowania przegl darkom urz dze przeno nych przez strony in-ternetowe, w jaki sposób nale y je renderowa .

W przysz o ci ka da responsywna strona, która ma dobrze prezentowa si tak e na ma ychekranach, b dzie musia a mie zdefiniowany ten znacznik.

Testowanie projektów responsywnych w emulatorach

Cho nic nie zast pi testów witryn na w a ciwych urz dzeniach, warto skorzysta z emulatorów dla sys-temów Android i iOS.

Gwoli cis o ci: symulator tylko symuluje dane urz dzenie, podczas gdy emulator naprawd próbuje interpre-towa pierwotny kod urz dzenia.

Emulator Androida dla systemów Windows, Linux i Mac jest darmowy — wystarczy ci gn i zainstalowazestaw narz dzi Android Software Development Kit (SDK) z witryny: http://developer.android.com/sdk/.

Symulator iOS dost pny jest tylko dla u ytkowników systemu Mac OS X — jest cz ci pakietu Xcode(dost pnego za darmo w Mac App Store).

Tak e same przegl darki internetowe zawieraj coraz to lepsze emulatory ró nych urz dze . ZarównoFirefox, jak i Chrome posiadaj specjalne ustawienia pozwalaj ce emulowa wiele ró nych urz dzeprzeno nych i obszarów roboczych.

Znacznik meta viewport wstawia si w elemencie <head> dokumentu HTML. Mo na go ustawina konkretn szeroko (wyra on np. w pikselach) lub na wspó czynnik skalowania, np. 2.0(dwukrotno rzeczywistego rozmiaru). Poni ej znajduje si przyk adowa definicja z ustawionskal na 200% (2.0):

<meta name="viewport" content="initial-scale=2.0,width=device-width" />

Przeanalizujmy sk adni tego znacznika, aby dok adnie zrozumie zasad jego dzia ania. atwo roz-szyfrowa znaczenie atrybutu name="viewport". Atrybut content="initial-scale=2.0" powodujedwukrotne powi kszenie tre ci na stronie (warto 0.5 spowodowa aby dwukrotne zmniej-szenie, a 3.0 trzykrotne zwi kszenie itd.). Natomiast fragment width=device-width mówiprzegl darce, e szeroko strony powinna by równa szeroko ci urz dzenia.

Za pomoc znacznika meta mo na te kontrolowa maksymalny stopie powi kszania i zmniej-szania strony przez u ytkownika. Poni szy prosty przyk ad umo liwia u ytkownikom powi k-szenie obrazu na szeroko trzykrotnie wi ksz ni szeroko ekranu i zmniejszenie go naszeroko dwukrotnie mniejsz od szeroko ci ekranu.

<meta name="viewport" content="width=device-width, maximum-scale=3, minimum-scale=0.5" />

Istnieje te mo liwo wy czenia funkcji zmniejszania i powi kszania (cho trzeba pami ta ,e jest ona bardzo wa nym mechanizmem dost pno ci i dlatego w praktyce rzadko kiedy za-

leca si ten krok):<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

Poleć książkęKup książkę

Page 26: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

54

Tutaj najwa niejszy jest fragment user scalable=no.

Zmienimy warto wspó czynnika skalowania na 1.0, dzi ki czemu przegl darka dopasuje wiel-ko strony do 100% wielko ci obszaru roboczego. Ustawienie tego parametru na szerokourz dzenia sprawia, e strona b dzie renderowana na ca ej szeroko ci obs uguj cych te usta-wienia przegl darek. W wi kszo ci przypadków definicja tego znacznika powinna wygl danast puj co:

<meta name="viewport" content="width=device-width,initial-scale=1.0" />

Konsorcjum W3C zauwa y o, e znacznik meta viewport jest w coraz powszechniejszym u yciu, wi cstara si przenie jego funkcjonalno do CSS. Na stronie: http://dev.w3.org/csswg/css-device-adapt/znajdziesz informacje o deklaracji @viewport. Chodzi o to, by zamiast wprowadza oddzielny znacznik<meta> w sekcji <head> witryny, mo na by o deklarowa wyra enia typu @viewport { width: 320px;} w arkuszu stylów. Deklaracja ta ustawi aby szeroko przegl darki na 320 pikseli. Niestety, przegl -darki internetowe s abo obs uguj t technik , wi c dla pewno ci mo na si pos ugiwa kombinacjznacznika meta i deklaracji @viewport.

My l , e ju do dobrze orientujesz si , do czego s u i jak dzia aj zapytania medialne. Zanimprzejdziemy do ca kiem nowego tematu, chcia bym jeszcze zrobi przegl d tego, co szykujenam przysz o w nast pnej wersji specyfikacji. Zobaczmy!

Zapytania medialne — poziom 4.W czasie, gdy pisz t ksi k , specyfikacja CSS Media Queries Level 4 jest na etapie szkicu(http://dev.w3.org/csswg/mediaqueries-4/) i opisane w niej nowo ci nie s zaimplementowanew wielu przegl darkach. Dlatego te , cho poni ej robi przegl d najwa niejszych elementów tejspecyfikacji, nale y pami ta , e wiele jeszcze mo e si zmieni . Zawsze upewnij si , czy to,czego chcesz u y , jest ju obs ugiwane, i sprawd , czy nie nast pi y jakie zmiany w sk adni.

Omawiana specyfikacja zawiera wiele nowo ci, ale ja skupiam si tylko na sk adnikach doty-cz cych skryptów, urz dze wskazuj cych, kwestii wskazywania elementów kursorem orazwiat a otoczenia.

Obs uga skryptówW dokumentach HTML cz sto stosuje si technik polegaj c na domy lnym przypisaniuelementu do klasy oznaczaj cej, e nie ma adnego skryptu JavaScript, a nast pnie zmianietej klasy na inn , gdy zostanie uruchomiony skrypt. Jest to prosty sposób na rozga zienie ko-du (wliczaj c CSS) na podstawie tej nowej klasy HTML. Technika ta s u y przede wszystkichdo pisania regu przeznaczonych dla u ytkowników, których przegl darka ma wy czon ob-s ug JavaScript.

Poleć książkęKup książkę

Page 27: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

55

Nie wiem, czy powy szy akapit jest zrozumia y, wi c dodam prosty przyk ad. Domy lnie w doku-mencie HTML znajdowa by si taki element:

<html class="no-js">

Gdy na tej stronie zostanie uruchomiony skrypt JavaScript, jego pierwszym zadaniem b dziezamiana klasy no-js na js:

<html class="js">

Teraz mo emy napisa regu y CSS przeznaczone do zastosowania tylko wtedy, gdy dzia ajskrypty JavaScript, np. .js .header {display: block;}.

W nowej specyfikacji zapyta medialnych podj to prób ustandaryzowania tej metody tak,aby test obs ugi JavaScript mo na by o wykonywa wprost z poziomu CSS:

@media (scripting: none) { /* Regu y do zastosowania, gdy brakuje obs ugi JavaScript. */}

Mo na te sprawdza , czy JavaScript jest w czony:

@media (scripting: enabled) { /* Regu y do zastosowania, gdy JavaScript jest w czony. */}

Istnieje te mo liwo sprawdzenia, czy obs uga JavaScript jest w czona tylko pocz tkowo.W specyfikacji W3C podano przyk ad drukowanej strony, której uk ad jest najpierw budowanyz u yciem skryptów, ale pó niej JavaScript staje si niedost pny. Ten test zapisuje si nast puj co:

@media (scripting: initial-only) { /* Regu y do zastosowania, gdy JavaScript dzia a tylko pocz tkowo. */}

Szerszy opis wst pnej wersji tej funkcji mo na znale pod adresem: https://drafts.csswg.org/mediaqueries-4/#mf-scripting.

Urz dzenia wskazuj ceNa stronach W3C znajduje si nast puj cy opis funkcji dotycz cej urz dze wskazuj cych:

„Funkcja ta s u y do sprawdzania obecno ci i dok adno ci urz dze wskazuj cych,takich jak mysz. Je eli urz dzenie dysponuje kilkoma mechanizmami wskazywania,funkcja musi odzwierciedla w a ciwo ci podstawowego z nich zgodnie z ustaleniamiklienta u ytkownika”.

Urz dzenie wskazuj ce mo e mie jedn z trzech w a ciwo ci: none, coarse i fine.

Poleć książkęKup książkę

Page 28: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

56

Urz dzeniem wskazuj cym o w a ciwo ci coarse (gruby) mo e by palec w przypadku ekranudotykowego albo kursor z konsoli do gier, w której nie ma tak precyzyjnego wska nika jak mysz.

@media (pointer: coarse) { /* Regu y do zastosowania dla niezbyt precyzyjnego wska nika. */}

Urz dzenia o w a ciwo ci fine (precyzyjny) to np.: mysz, rysik lub jaki inny wynalazek do precy-zyjnego wskazywania elementów na ekranie.

@media (pointer: fine) { /* Style do zastosowania dla precyzyjnych wska ników. */}

Moim zdaniem im szybciej przegl darki zaczn obs ugiwa te w asno ci, tym lepiej. Obecniewszyscy maj problemy ze stwierdzeniem, czy u ytkownik dysponuje mysz , ekranem dotyko-wym, czy jednym i drugim, oraz z czego aktualnie korzysta.

Najbezpieczniej jest zak ada , e u ytkownik korzysta z ekranu dotykowego i zgodnie z tym za o eniemustawia odpowiednie rozmiary elementów. Dzi ki temu, nawet je li kto u ywa myszy, bez problemub dzie móg si pos ugiwa naszym interfejsem. Gdyby my natomiast przyj li, e u ytkownik u ywamyszy, a ten pos ugiwa by si ekranem dotykowym, to korzystanie z naszej strony by oby dla niegoutrudnione.

Je li chcesz si dowiedzie , jak wielkie trudno ci trzeba przezwyci y przy projektowaniu stron dla urz dzez mysz i ekranem dotykowym, polecam zestaw slajdów pt. Getting touchy Patricka H. Lauke'a: https://patrick

hlauke.github.io/getting-touchy-presentation/.

Szerszy opis wst pnej wersji tej funkcji mo na znale pod adresem: http://dev.w3.org/csswg/ me-diaqueries-4/#mf-interaction.

Funkcja sprawdzania obs ugi efektu hoverNietrudno zgadn , e funkcja sprawdzania obs ugi efektu hover dotyczy testowania, czyu ytkownik jest w stanie umie ci kursor nad elementem na stronie. Je li obecnych jest kilkaurz dze wej ciowych (np. ekran dotykowy i mysz), pod uwag brane s w a ciwo ci tegopodstawowego. Poni ej przedstawiam mo liwe warto ci i przyk ady kodu.

Dla u ytkowników bez mo liwo ci umieszczania kursora nad elementami mo emy pisa re-gu y z warto ci none:

@media (hover: none) { /* Style do zastosowania, gdy u ytkownik nie mo e umieszcza kursora nad elementami. */}

Dla u ytkowników, którzy mog pos ugiwa si kursorem, ale musz w tym celu wykona jakznacz c czynno , nale y napisa deklaracj z warto ci on-demand:

Poleć książkęKup książkę

Page 29: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Rozdzia 2. • Zapytania medialne: obs uga zró nicowanych obszarów roboczych

57

@media (hover: on-demand) { /* Style do zastosowania, gdy u ytkownik mo e u ywa kursora, ale wymaga to od niego /* konkretnego wysi ku. */}

Aby wyznaczy regu y dla u ytkowników mog cych bez adnych przeszkód pos ugiwa sikursorem, wystarczy u y warto ci hover.

@media (hover) { /* Style do zastosowania, gdy u ytkownik mo e bez przeszkód pos ugiwa si kursorem. */}

Istniej jeszcze opcje any-pointer i any-hover. Dzia aj podobnie jak opisane powy ej usta-wienia pointer i hover, z tym e sprawdzaj , czy dan mo liwo ma którekolwiek z dost p-nych urz dze .

Zapytania dotycz ce otoczeniaCzy nie by oby przyjemnie, gdyby my mogli zmienia nasze projekty na podstawie warun-ków panuj cych w otoczeniu u ytkownika, np. nat enia wiat a? Dzi ki temu, gdyby u yt-kownik znajdowa si w ciemnym pokoju, mogliby my zastosowa nieco przyt umione kolory.Albo odwrotnie: gdyby o wietlenie otoczenia mia o du e nat enie, mogliby my zwi kszakontrast kolorów. Podj to ju próby rozwi zania tego typu problemów za pomoc zapytamedialnych. Spójrz na poni sze przyk ady:

@media (light-level: normal) { /* Style dla standardowych warunków o wietlenia. */}@media (light-level: dim) { /* Style dla s abego wiat a otoczenia. */}@media (light-level: washed) { /* Style dla jasnego wiat a otoczenia. */}

Warto wiedzie , e jest kilka implementacji tych zapyta medialnych. Poza tym mo na sispodziewa zmian w specyfikacji, zanim b dzie mo na bezpiecznie z niej korzysta . Jednakju teraz dobrze jest si orientowa , jakie zmiany mog nast pi w ci gu kilku najbli szych lat.

Szerszy opis wst pnej wersji tej funkcji mo na znale pod adresem: http://dev.w3.org/ csswg/mediaqueries-4/#mf-environment.

Poleć książkęKup książkę

Page 30: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Responsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3

58

PodsumowanieW tym rozdziale dowiedzia e si , czym s zapytania medialne CSS3, jak je zadeklarowa w pli-kach CSS i jak mog Ci one pomóc w stworzeniu projektu RWD witryny. Dowiedzia e si te ,jak za pomoc znacznika meta zmusi nowoczesne przegl darki przeno ne, aby wczytywa ystrony w taki sposób, w jaki chcesz.

Ostatecznie przekona e si jednak, e za pomoc samych zapyta medialnych mo na two-rzy projekty adaptacyjne, czyli takie, które zmieniaj skokowo uk ad w zale no ci od warun-ków. Prawdziwie responsywna strona g adko przechodzi od jednego uk adu do innego. Doosi gni cia naszego celu potrzebna b dzie wi c te znajomo uk adów p ynnych, które mogsi elastycznie zmienia mi dzy kolejnymi punktami kontrolnymi. Tworzenie uk adów p yn-nych u atwiaj cych harmonijne przej cie mi dzy stanami narzucanymi przez nasze zapytaniamedialne jest tematem kolejnego rozdzia u.

Poleć książkęKup książkę

Page 31: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Skorowidz

Aalgorytm gzip, 50, 52animacja, 201

CSS, 215, 236SVG, 195, 201, 204, 205,

206, 212API, 95Archibald Jake, 207atrybut

alt, 132aria-label, 276autocomplete, 246autofocus, 244, 246data-*, 133fill, 198height, 187lang, 98, 108list, 246, 247placeholder, 243required, 244, 248, 262selektor, Patrz: selektorsizes, 90, 91srcset, 89, 90, 91viewbox, 187width, 187

Autoprefixer, 68, 157

BBéziera krzywa, Patrz: krzywa

Bézierabiblioteka Modernizr,

Patrz: Modernizrblok ródliniowy, 65

Bootstrap, 275BrowserSync, 269

CChrome, 53cie , 158, 159, 172

elementu, 159, 161wewn trzny, 160

Coyier Chris, 65, 180CSS

animacja,Patrz: animacja CSS

preprocesor,Patrz: preprocesor CSS

przej cie,Patrz: przej cie CSS

szkielet, 275transformacja, Patrz:

transformacja CSSwydajno , 179

CSS Masking Module, 180CSS3 regu a, Patrz: regu acustom propertiy, Patrz:

w asno u ytkownika

Ddese t a, 168dokument

HTML5, 97, Patrz: HTML5DPI, 91DPR, 91Draw SVG, 190

dyrektywa@import, 44@media, 33, 44, 56, 57@supports, 129, 130

d wi k, 113

Eefekt

hover, 56wype nienia, 264

ekrandotykowy, 56orientacja, 42Retina, Patrz: Retinarozdzielczo , 48

elementa, 100address, 106article, 103aside, 103b, 107cie , Patrz: cie elementudatalist, 246, 247defs, 188desc, 188details, 104div, 109em, 107, 110fieldset, 242figcaption, 104figure, 103, 104footer, 105g, 188h1, 106

Poleć książkęKup książkę

Page 32: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Skorowidz

285

header, 105hgroup, 106, 108html, 98HTML5, 96i, 108, 110img, 91, 191, 199main, 101, 102multimedialny, 113

format alternatywny, 114nav, 102object, 191, 199picture, 91p ywaj cy, 65pozycjonowanie

bezwzgl dne, 229przestarza y, 108rola, 111script, 108section, 102, 103, 109semantyczny, 101

na poziomie tekstu, 107source, 92, 114summary, 104SVG, 187, 188title, 188use, 196, 198

em, 33, 43Embedded Content, 89emulator, 53

Ffeature query, Patrz: zapytanie

o obs ug w asno cifilm, 113

responsywny, 115wspó czynnik kszta tu, 116

Filter Effects, 173filtr, 172, 173

blur, 174brightness, 174contrast, 174CSS, 174, Patrz: filtrdrop-shadow, 173, 174grayscale, 175hue-rotate, 176, 179invert, 176

czenie, 179opacity, 177

saturate, 178sepia, 178SVG, 173, 208url, 174

Firefox, 41, 53flexbox, 59, 64, 66, 88, 126, 129,

282automatyczne dodawanie

przedrostków, 68inline, 73kolejno elementów, 83obs uga przez przegl darki,

66specyfikacja, 66w asno , 68, 70, 71, 72, 73,

74Flexible Box, Patrz: flexboxfont

Roboto, 149sieciowy, 148, 151

formatGIF, 183, 191JPEG, 183, 191PNG, 183, 190, 191, 192SVG, Patrz: SVGWebP, 92

formularz HTML5, 242, 243formatowanie CSS, 259pole

adres URL, 250color, 254date, 255email, 248liczbowe, 249month, 255pattern, 253tel, 252time, 256week, 256wymagane, 262wyszukiwania, 253zakres, 257

Foundation, 275funkcja

calc, 146cubic-bezier, 219czasu, 219, 220ease, 219, 220ease-in, 219

ease-in-out, 219ease-out, 219linear, 219

Ggraceful degradation, Patrz:

strona elegancka redukcjafunkcjonalno ci

gradient, 162generator, 166kierunek, 163liniowy, 162, 166powtarzaj cy si , 167promienisty, 165, 166, 168punkty kontrolne, 163, 164responsywny, 166

grafikaSVG, Patrz: SVGwektorowa, 185

GreenSock, 205, 206, 207

HHSB, 152HSL, 152, 153, 158HSLA, 154HTML5, 26, 95

element, Patrz: elementHTML5

semantyka, 95, 101sk adnia, 99

HTML5 Boilerplate, 99HTTP2, 281

IIcoMoon, 190, 196Iconizr, 195identyfikator URI, Patrz: URIikona, 190Illustrator, 189Inkscape, 190instrukcja

if-else, 41, 128switch, 128

interfejs programistyczny,Patrz: API

Poleć książkęKup książkę

Page 33: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Skorowidz

286

Internet Explorerwersja, 24

Irish Paul, 229

JJavaScript, 54, 273, 279jednostka

dpcm, 172dpi, 172dppx, 172em, Patrz: empiksel, Patrz: pikselprocent, 33rem, Patrz: remvh, 90, 148vmax, 148vmin, 148vw, 90, 148

j zykHTML, 186SMIL, 201XML, 186znacznikowy, 186

jQuery, 192

Kkana alfa, 152, 154klasa

js, 55no-js, 55

klatka kluczowa, 236Koblentz Thierry, 116kodu rozga zienie, 54kolor, 152, 197kontrolka, 247, 248

daty i godziny, 254krzywa Béziera, 220

LLESS, 25

MMarcotte Ethan, 23, 60maska, 180Matrix Construction Set, 227

Media Queries, 40poziom 4, 46, 54

Method Draw, 190Modernizr, 99, 130, 132, 193,

272

Oobraz, 29, 191

responsywny, 60, 88, 90, 92rozdzielczo , 89, 172SVG, Patrz: SVGszeroko , 30, 31technika obcinania, 180t a, 169WebP, Patrz: format WebP

obszar roboczy, 28, 187Offline Web Applications, 116okna przewijanie

inercyjne, 127poziome, 126, 132, 141

o czasu, 236

Ppiksel, 33, 43

w CSS, 90plik

css/styles.css, 30kompresowanie, 50, 52

PostCSS, 25preprocesor

CSS, 25, 41LESS, Patrz: LESSPostCSS, Patrz: PostCSSSass, Patrz: SassStylus, Patrz: Stylus

programAdobe Illustrator, Patrz:

IllustratorInkscape, Patrz: InkscapeSketch, Patrz: Sketch

progressive enhancement, Patrz:strona stopniowe ulepszanie

przedrostek producenta, 49, 157przegl darka

funkcjonalno ci, 271obs ugiwana, 271od wie anie, 269

przegl darka internetowa, 23Firefox, Patrz: Firefoxfunkcjonalno ci, 25Internet Explorer, Patrz:

Internet Explorerprzej cie CSS, 215, 216, 219

rodzaj, 218przestrze nazw, 188przezroczysto , 154pseudoelement, 145

::after, 127::before, 127:first-line, 145

pseudoklasa, 136, 142:has, 147:root, 146strukturalna, 144

pseudoselektor :placeholder-shown, 244

punkt kontrolny, 33, 273

Rregu a

@font-face, 149, 151break-word, 124column-count, 123column-width, 121deklaracja, 120keyframes, 236selektor, 120struktura, 120word-wrap, 124

rem, 34, 43Responsive Web Design, Patrz:

RWDRetina, 48RGB, 152, 158RGBA, 152Rieger Bryan, 33RWD, 22, 23

SSass, 25, 41sekcja body, 26selektor, 132, 135, 265

empty, 144fragmentu, 133, 134

Poleć książkęKup książkę

Page 34: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Skorowidz

287

has, 147klasy, 136last-child, 137negacji, 143n-tego potomka, 137, 138,

141nth-last-of-type, 140nth-of-type, 140pseudoklas, 142relacyjny, 147strukturalny, 137szybko , 179

Service Workers, 117Sharp Remy, 96Sketch, 188, 189skrypt JavaScript, 54, 96s owo kluczowe

print, 42screen, 33, 42

SMIL, 201, 202Snap.svg, 205Soueidan Sara, 181sprite graficzny, 193, 195, 211stopka, 82strona

elegancka redukcjafunkcjonalno ci, 24

HTML5, 97projekt responsywny,

Patrz: RWDresponsywna, 26, 59, 60, 63,

64, 66, 115, 268, 271offline, 116wydajno , 281

standard dost pno ci, 110,111testowanie, 112WAI-ARIA, 111, 112WCAG, 110

stopka, 82stopniowe ulepszanie, 24,

130, 269, 270, 272transformacje, 233

uk ado sta ej szeroko ci, 59, 60,

63, 64p ynny, 59, 60, 63, 64tabelaryczny, 65wielokolumnowy, 121

Style Tiles, 268Stylus, 25SVG, 184, 191, 199, 211

animacja, 195, 201CSS, 204JavaScript, 205, 206

filtr, Patrz: filtr SVGformatowanie, 202, 203ikona, Patrz: ikonakolor, 197kszta t, 189optymalizacja, 207rysowanie linii, Patrz:

technika stroke-dashoffsetcie ka, Patrz: cie karódliniowe, 199

uk ad wspó rz dnych, 188w kodzie HTML, 195w przegl darkach, 200w tle, 192, 199zapytanie medialne,

Patrz: zapytanie medialnew SVG

SVG-edit, 190SVGO, 207SVGOMG, 207symulator, 53

cie ka, 189fill, 198

Ttechnika stroke-dashoffset, 206,

207t o, 264

obraz, Patrz: obraz t aSVG, Patrz: SVG w tlewymiary, 170

transformacja CSS, 215dwuwymiarowa, 221macierzowa, Patrz:

transformacja CSS matrixmatrix, 221, 226, 227, 228rotate, 221, 225, 232scale, 221, 222

skew, 221, 226translate, 221, 222trójwymiarowa, 229, 230,

232

UURI, 194, 195, 211urz dzenie wskazuj ce, 55UTF-8, 98

VVelocity.js, 205viewport, Patrz: obszar roboczy

WW3C, 40WAI-ARIA header, 111walidator ostrze enie, 108Webshims Lib, 258Wendelken Aurelius, 265w asno , 120

align-items, 76align-self, 76animation-duration, 237animation-fill-mode, 237,

238animation-play-state, 238appearance, 277backface-visibility, 231background, 163, 165, 166background-image, 162background-position, 170,

171background-size, 170box-shadow, 159, 160, 161,

172, 173spread, 161

clear, 65display :none, 216flex, 79, 80, 83flexbox, 68, 70, 71, 72, 73,

74, 79flex-flow, 72flex-shrink, 80justify-content, 78

Poleć książkęKup książkę

Page 35: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Skorowidz

288

w asnomax-width, 31opacity, 154order, 85overflow-scrolling, 132perspective, 230stroke, 203SVG fill, 193tabelaryczna, 65text-indent, 148text-overflow, 125text-shadow, 158, 159transform-origin, 227transition, 218, 221transition-delay, 218transition-duration, 218transition-property, 218transition-timing-function,

218u ytkownika, 145

white-space, 126width, 31

wype niacz, 96, 258wyra enie regularne, 253

Zzapytanie medialne, 32, 33, 40,

46dzielenie na pliki, 50importowanie, 44

czenie, 43o obs ug w asno ci, 128o rozdzielczo , 172parametry, 44punkt kontrolny, 268sk adnia, 41, 43, 51, 52specyfikacja, 37w arkuszach stylów, 44, 49w SVG, 210

zagnie d anie ródliniowe,50

zagnie d anie w regu ach,52

zmienna, 145, Patrz te :w asno u ytkownika

znacznikaudio, 113, 115doctype, 97link, 42meta viewport, 28, 53, 54ródliniowy, 107

video, 113, 115znaku kodowanie, 98

danie HTTP, 50

Poleć książkęKup książkę

Page 36: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ

Poleć książkęKup książkę

Page 38: Tytuł oryginału: Responsive Web Design with HTML5 and ...pdf.helion.pl/trash2/trash2.pdfResponsive Web Design. Projektowanie elastycznych witryn w HTML5 i CSS3 40 Q nauczysz siÚ