Podręcznik HTML5. Smashing Magazine

Transkrypt

Podręcznik HTML5. Smashing Magazine
4
ROZDZIAŁ
PODRĘCZNIK HTML5
PRACA
Z WARTOŚCIAMI
KOLORÓW
DO TEJ PORY zaprezentowałem już kilka
przykładów użycia kodu koloru, ale jeżeli
ich nie rozumiesz, to były one zapewne
dla Ciebie jak kod enigma. W niektórych
przykładach zostały użyte nazwy kolorów,
ale już nie te podstawowe. Musisz zrozumieć,
jak są one zbudowane w CSS3. Kiedy
to zrozumiesz, będziesz mieć dostęp do miliona
kolorów, a nie tylko do ich garstki.
CZĘŚĆ I: JĘZYK SIECI
ZNAJOMOŚĆ KOLORÓW RGB
Jeśli zdarzyło Ci się kiedykolwiek mieszać kolory w inny sposób, niż malując palcami czy
akwarelami, wiesz, co się dzieje, kiedy miesza się kolory. Na ekranach komputerowych
czerwony, zielony i niebieski są mieszane, by wytwarzać inne kolory. Na przykład kiedy
zmieszasz równe ilości czerwonego i zielonego, otrzymasz żółty.
Aby połączyć kolory na stronach internetowych, miesza się różne wartości, używając liczb
całkowitych, procentów i liczb heksadecymalnych. CSS3 ma ograniczoną ilość dostępnych
nazw kolorów, które mogą pomóc w wymyślaniu innych metod mieszania kolorów. HTML5
i CSS3 mają bardzo skomplikowane elementy, takie jak canvas, które mogą zrobić więcej
z kolorami i rysunkami, niż było to możliwe w poprzednich wersjach HTML. Te zaawansowane
elementy wymagają odrobiny JavaScriptu. Znajdziesz je omówione szczegółowo w rozdziale 13.
Teraz zaczniemy od podstaw.
UŻYWANIE NAZW
Jednym z dziwniejszych doświadczeń przy pracy z HTML5 i CSS3 jest ustalanie nazw używanych
dla określenia kolorów. Poniżej widzimy 16 standardowych kolorów, przedstawionych w tabeli 4.1.
Tabela 4.1. Standardowe nazwy kolorów
76
aqua (turkusowy)
black (czarny)
blue (niebieski)
fuchsia (fuksja)
gray (szary)
green (zielony)
lime (jasnozielony)
maroon (kasztanowy)
navy (granatowy)
olive (oliwkowy)
purple (purpurowy)
red (czerwony)
silver (srebrny)
teal (morski)
white (biały)
yellow (żółty)
Korzystając z HTML5, którego nauczyłeś się do tej pory, możesz łatwo stworzyć schemat
przedstawiający kolory. (W punkcie „Do dzieła!” na końcu tego rozdziału dowiesz się, jak
odtworzyć tabelkę). Rysunek 4.1 przedstawia ich wygląd na przykładowej stronie1.
Rysunek 4.1. Standardowe kolory CSS3 na stronie
1
Dla wygody czytelnika niniejszy rozdział, w wersji z kolorowymi rysunkami, umieściliśmy na stronach
wydawnictwa Helion, pod adresem www.helion.pl/ksiazki/tfanh5 — przyp. red.
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
Do tej podstawowej bazy możesz włączać 131 innych nazw, które zostały wybrane bez
wyraźnej przyczyny. Wszystkie należą do zestawu stworzonego w latach 80. XX wieku i zostały
nazwane X11. Zostały przyjęte przez wczesne przeglądarki i są z nami od zawsze. W oficjalnej
dokumentacji W3C są wypisane pod nazwą formatu SVG (ang. Scalable Vector Graphics),
a wszystkie nazwy kolorów zostały przyjęte z oryginalnego X11 (patrz strona
www.w3.org/TR/SVG/types.html#ColorKeywords).
Powód, dla którego wszystkie te nazwy nie zostały tu wypisane, jest taki, że projektanci i programiści
zazwyczaj ich nie używają. Te 131 nazw nie tylko ogranicza paletę projektantów — uważają je
oni także za absurdalne! Nazwy takie jak papayawhip czy mistyrose nie są dobrymi nazwami
według artystów. Podobnie programiści uważają, że używane wartości nie odpowiadają żadnym
matematycznym ustawieniom, tak jak stare bezpieczne kolory stron, które odpowiadały
logicznemu standardowi numerycznemu. (Oczywiście jeśli chcesz się trochę pobawić, kontynuuj
i dołącz takie kolory jak darkkhaki czy ghostwhite do swojej palety kolorów strony). W następnych
podrozdziałach zobaczysz, jak stworzyć kolor dokładnie taki, jaki chcesz, wybrany z miliona
różnych kombinacji.
RGB I WARTOŚCI PROCENTOWE HSL
Podczas mieszania farb ich ilość jest czasami podawana w procentach. Pewien procent koloru
czerwonego, zielonego i niebieskiego da nam różne kolory. W ustawieniach kolorów w CSS3
możesz używać procentów na dwa różne sposoby. Najpierw możesz przypisać wartość koloru,
używając poniższego formatowania:
rgb(r%,g%,b%);
Pierwsza wartość to procent koloru czerwonego, druga zielonego, a trzecia niebieskiego.
Na przykład ustawienie rgb (43.9%, 50.2%, 56.5%) generuje kolor, którego używa drużyna
Los Angeles Dodgers. Trzy wartości procentowe po dodaniu to więcej niż 100 procent,
co pokazuje, że wartość określa procent samego koloru, a nie całości. Jak widzisz, możesz
być bardzo precyzyjny, jeśli chodzi o wartości, kiedy podajesz liczby dziesiętne. Poniższy
przykład (plik RGBpercent.html znajdujący się w folderze rozdziału 4. pod adresem
ftp://ftp.helion.pl/przyklady/tfanh5.zip) przedstawia, jak używać tych ustawień kolorów
na stronie HTML5:
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
body {
background-color:rgb(43.9%,50.2%,56.5%);
}
h1 {
background-color:rgb(11.8%,56.5%,100%);
color:rgb(100%,100%,100%);
font-family:"Arial Black", Gadget, sans-serif;
font-style:italic;
text-align:center;
77
CZĘŚĆ I: JĘZYK SIECI
}
</style>
<meta charset="utf-8">
<title>Dodger Blue</title>
</head>
<body>
<h1>Los Angeles Dodgers<br>
(wcześniej Brooklyn Dodgers)</h1>
</body>
</html>
Kiedy załadujesz stronę, wyświetlane kolory będą dokładnie takie, jak chciałeś; widać to na
rysunku 4.2.
78
Rysunek 4.2. Ustawianie kolorów za pomocą procentów RGB
Kolejnym sposobem przypisywania kolorów z użyciem procentów jest model HSL (odcień
– nasycenie – jasność). Dużą zaletą HSL jest to, że jasność jest symetryczna. Ułatwia to podrasowanie
koloru na taki, jaki byś chciał.
Myśląc o 360-stopniowym kole barw jak o kompasie, możesz wybrać odcień. Na górze, gdzie
wartość procentowa wynosi 0, znajdziesz barwy czerwone. Przesuwając wzrok zgodnie ze
wskazówkami zegara w miejsce o wartości procentowej 30, zobaczysz, że barwy przechodzą
z czerwonych w żółte. Na wartości procentowej 60 są one żółte. I tak wokoło spektrum kolorów,
aż wrócisz do wartości procentowej 360 (0 procent), gdzie znów zobaczysz odcienie czerwone.
Projektantom, którzy rozumieją spektrum kolorów, ułatwia to wybieranie kolorów. Aby stworzyć
jaśniejszy kolor, zwiększ wartość jasności; zmniejsz ją natomiast, by uzyskać ciemniejszy kolor.
Przypuśćmy na przykład, że próbujesz uzyskać właściwy odcień czerwieni. Zacznij od poniższego
ustawienia kolorów:
hsl(0,100%,50%);
Zwróć uwagę, że pierwsza wartość nie jest określona w procentach. Jest tak, ponieważ ma
wartości pomiędzy 0 a 359 — w 360 stopniowym kole. (Pamiętaj: wartości 0 i 360 są w tym
samym miejscu na kole). Zwiększając i zmniejszając jasność (trzeci parametr), możesz rozjaśniać
lub przyciemniać swój kolor — co jest bardziej intuicyjne niż zmienianie procentów RGB.
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
Poniższy kod HTML5/CSS3 (plik HSLCOLOR.html znajdujący się w folderze rozdziału 4.
pod adresem ftp://ftp.helion.pl/przyklady/tfanh5.zip) przedstawia, z jaką łatwością możesz
zmniejszyć i zwiększyć wartość jasności, by uzyskać odpowiedni odcień czerwieni.
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
.redBase {
color:hsl(0, 100%, 50%);
}
.redDarker {
color:hsl(0, 100%, 25%);
}
.redLighter {
color:hsl(0, 100%, 75%);
}
</style>
<meta charset="utf-8">
<title>Ustawienia koloru HSL</title>
</head>
<body>
<h1 class="redBase">Czerwony bazowy</h1>
<h1 class="redDarker">Czerwony ciemniejszy</h1>
<h1 class="redLighter">Czerwony jaśniejszy</h1>
</body>
</html>
Jeśli używasz HSL po raz pierwszy, pomocne jest myślenie o dodawaniu jasności jak
o przemieszczaniu się wyżej do słońca lub o przyciemnianiu jak o przesuwaniu się coraz bardziej
w głąb studni. Proces podrasowywania kolorów jest łatwiejszy dla projektantów chcących
uzyskać wymagane kolory. Rysunek 4.3 przedstawia, jak wyglądają różne barwy czerwieni.
Rysunek 4.3. HSL ułatwia podrasowywanie barw
79
CZĘŚĆ I: JĘZYK SIECI
Odcień i jasność rozumiemy dość intuicyjnie, ale pojęcie „nasycenie” może być trochę niejasne.
Zasadniczo nasycenie to ilość zabarwienia w danym kolorze. Nasycenie o wartości 100 procent
to pełne zabarwienie odcienia danej barwy, podczas kiedy niższa wartość procentowa jakby
zabiera odcień — to coś jak blednięcie koloru. Dla wszystkich kolorów środkowa barwa to
szara, kiedy nasycenie wynosi 0 procent. Czasami wolimy blady lub stłumiony kolor, taki jak
niebieskich wielokrotnie wypranych dżinsów.
USTAWIANIE RGB ZA POMOCĄ LICZB CAŁKOWITYCH
Drugim sposobem na mieszanie kolorów z użyciem ustawień wartości rgb() jest wstawianie
wartości od 0 do 255 (w sumie wartości jest 256, gdyż liczymy też wartość 0) zamiast procentów
używanych w poprzednim przykładzie. Wartość 256 reprezentuje ilość możliwych kombinacji
na dwóch 8-bitowych bajtach. Innymi słowy, polega to na tym, jak komputer przechowuje
i przetwarza informacje. Z zestawem trzech wartości od 0 do 255 możesz wygenerować
16 777 216 kombinacji. Technologia koloru jest jednak dużo bardziej złożona niż ta, którą tu
omawiamy, a nowoczesne tworzenie kolorów generuje lepsze procesory kolorów. Wystarczy
powiedzieć, że możesz tworzyć wiele kolorów za pomocą tych kombinacji złożonych z barwy
czerwonej, zielonej i niebieskiej. Oto sposób zapisu wartości kolorów:
rgb(liczbaCałkowitaR, liczbaCałkowitaG, liczbaCałkowitaB);
80
Na przykład żółty, który powstaje po zmieszaniu czerwonego i zielonego, będzie wyglądał tak:
rgb(255,255,0);
Nie działa to tak intuicyjnie jak HSL, ale po chwili zaczniesz rozumieć mieszanki oparte na 256
wartościach lepiej niż wartości procentowe. Poniższy przykład (plik DecColor.html znajdujący
się w folderze rozdziału 4. pod adresem ftp://ftp.helion.pl/przyklady/tfanh5.zip) przedstawia
prostą implementację.
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
body {
/* czerwone tło */
background-color:rgb(255,0,0);
}
h1 {
/* duży żółty tekst */
color:rgb(255,255,0);
font-family:"Arial Black", Gadget, sans-serif;
}
h2 {
/*niebieski tekst na szarym tle */
color:rgb(0,0,255);
background-color:rgb(150,150,150);
}
</style>
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
<meta charset="utf-8">
<title>Kolory w systemie dziesiętnym</title>
</head>
<body>
<h1>Duży żółty nagłówek</h1>
<h2>Niebieski nagłówek z szarym tłem</h2>
</body>
</html>
Jedyna różnica pomiędzy używaniem RGB z wartościami od 0 do 255 a wartości procentowych
od 0 do 100 polega na tym, jak my to postrzegamy. Może Ci się wydawać, że używanie 256
wartości zamiast skali procentowej od 0 do 100 zapewni Ci większą precyzję, ale to nie o to
chodzi, ponieważ możesz używać ułamków w ustawieniach procentowych. To, czy będziesz
używać zapisu procentowego, czy wartości od 0 do 255, będzie zależało od Twoich osobistych
preferencji. Rysunek 4.4 przedstawia rezultat użycia przeglądarki Opera Mini.
81
Rysunek 4.4. Kolory zmieszane za pomocą wartości całkowitych, przedstawione na telefonie komórkowym
Jak widzisz na rysunku 4.4, wyświetlany na telefonie komórkowym tekst nie przyjmuje
czcionki Arial Black, ale za to kolory wyświetlają się bez problemu. Upewnij się i sprawdź
czcionki i inne efekty Twojego urządzenia przenośnego, jeśli są istotne przy wyświetlaniu
strony. Pamiętaj: większość komputerów ma bardziej skomplikowany zestaw czcionek i styli
niż urządzenia przenośne. Niedługo jednak będą one bardzo podobne.
USTAWIENIA HEKSADECYMALNE: MYŚLENIE JAK TWÓJ KOMPUTER
W poprzednich rozdziałach prezentowałem ustawienia kolorów stworzone z użyciem wartości
złożonych z alfanumerycznych wartości. (Alfanumeryczną wartością jest każda wartość,
która zawiera i liczby, i litery). Na przykład wartość 6F001C generuje bogatą czerwień mokka.
Jeśli ją rozbijemy, możemy zobaczyć, że jest ona zwyczajną mieszanką barwy czerwonej,
zielonej i niebieskiej. Aby zrozumieć, jak to się dzieje, potrzebujemy dowiedzieć się trochę
o systemach liczbowych komputerów.
Jesteśmy przyzwyczajeni do liczenia w systemie dziesiętnym. Używamy wartości od 0 do 9
(dziesięć cyfr), a kiedy te dziesięć cyfr zostanie zużytych, zaczynamy na nowo z dwoma liczbami
— 1 i 0 — które nazywamy „dziesięć”. Jak pewnie wiesz, komputery bazują na przełącznikach,
CZĘŚĆ I: JĘZYK SIECI
które mogą posiadać stan Włączony lub Wyłączony. Zamieniając „1” na Włączony, a „0” na
Wyłączony, możemy zapisać kod oparty na systemie binarnym z użyciem liczb 1 i 0; zamiast
pracować z dziesięcioma liczbami pracujemy więc tylko z dwoma. Tabela 4.2 przedstawia, co
jest potrzebne, by policzyć do 16, używając systemu binarnego. Zawiera także trzecią kolumnę,
która pokazuje system szesnastkowy zwany heksadecymalnym.
Tabela 4.2. Systemy numeryczne
82
Binarny
Dziesiętny
Heksadecymalny
0
0
0
1
1
1
10
2
2
11
3
3
100
4
4
101
5
5
110
6
6
111
7
7
1000
8
8
1001
9
9
1010
10
A
1011
11
B
1100
12
C
1101
13
D
1110
14
E
1111
15
F
Każda wartość binarna nazywana jest bitem. Grupa bitów to bajt. W tabeli 4.2 największa
binarna wartość to 4-bitowy bajt. Komputery bazują na różnych typach bajtów, a 8-bitowy
bajt jest zwykle używany jako powszechne odniesienie do bajta. Prawdę mówiąc, nowoczesne
komputery bazują na 8-, 16-, 32-, 64- i nawet 128-bitowych bajtach. (Stają się one coraz większe,
więc nie spodziewaj się, że 128-bitowy bajt będzie stanowił górny limit).
Najwyższą wartością w binarnym systemie liczenia w 8-bitowym bajcie jest wartość 11111111.
Kiedy na nią spojrzysz i porównasz z liczbą dziesiętną i heksadecymalną, zobaczysz bardzo
interesujący wzór, pokazany w tabeli 4.3.
Tabela 4.3. Wartości bajtowe
Binarny
Dziesiętny
Heksadecymalny
11111111
255
FF
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
Jak widzisz w tabeli 4.3, wartość heksadecymalna FF jest najwyższą możliwą wartością dla
dwóch cyfr; podobnie wartość binarna 11111111 jest najwyższą możliwą wartością dla ośmiu
cyfr (bajta). Liczba całkowita składa się jednak z trzech cyfr i nie stanowi dla nich limitu. Inaczej
mówiąc, w przeciwieństwie do systemu heksadecymalnego, system dziesiętny nie jest w dużej
mierze symetryczny z binarnym systemem liczenia.
Jak wiesz, system RGB przypisujący liczby wartościom kolorów korzysta z wartości od 0 do 255.
Używając wartości heksadecymalnych, potrzebujesz tylko dwóch cyfr (tak naprawdę liczb
heksadecymalnych) reprezentujących wszystkie 256 wartości w 8-bitowym bajcie.
Prowadzi to do korzystania z heksadecymalnych liczb podczas przypisywania kolorom wartości.
Z użyciem sześciu wartości — po dwóch do czerwonego, zielonego i niebieskiego — wszystkie
wartości kolorów mogą być przypisane za pomocą sześciu liczb heksadecymalnych. Wracając
więc do wartości 6F001C, widzimy poniższe ustawienia:
czerwony: 6F,
niebieski: 00,
zielony: 1C.
Przyzwyczajenie się do liczb heksadecymalnych może zająć trochę czasu, ale kiedy już się uda,
będzie Ci łatwo dodawać wartości kolorów. Możesz je również rozumieć w ten sam sposób co
liczby dziesiętne RGB, ale zamiast z wartości od 0 do 255 będziesz korzystać z wartości od
00 do FF. Poniższy przykład (plik HexPalette.html znajdujący się w folderze rozdziału 4.
pod adresem ftp://ftp.helion.pl/przyklady/tfanh5.zip) przedstawia pewne kolory stworzone
za pomocą liczb heksadecymalnych.
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
/* Paleta kolorów -- używaj tylko tych kolorów!
69675C, 69623D, ECE8CF, E8D986, B5AA69
szary, oliwkowy, kremowy, ciemnokremowy, khaki */
body {
font-family:"Comic Sans MS", cursive;
background-color:#ECE8CF;
color:#69675C;
}
h1 {
font-family:"Arial Black", Gadget, sans-serif;
color:#B5aa60;
background-color:#E8D986;
text-align:center;
}
h2 {
font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
color:#b5aa69;
}
</style>
83
CZĘŚĆ I: JĘZYK SIECI
<meta charset="utf-8">
<title>System heksadecymalny i paleta kolorów</title>
</head>
<body>
<h1> Ostyluj z użyciem palety kolorów</h1>
<h2>Pustynia jesienią</h2>
Jesienią powietrze robi się chłodniejsze, zapanowuje spokój i pustynię okrywają
´cieplejsze barwy.
</body>
</html>
W tym przykładzie korzystamy z palety kolorów i ustawiamy wartości kolorów w komentarzu
wewnątrz kontenera <style>, dzięki czemu mogą być one przeglądane podczas składania
strony w jedną całość. Rysunek 4.5 przedstawia, czego możesz się spodziewać.
84
Rysunek 4.5. Heksadecymalna paleta kolorów
Kolory należą do zestawu kolorów, który prezentuje pewien humor czy uczucie. Ten
zatytułowany „Pustynia jesienią” jest oparty na palecie kolorów reprezentującej zdaniem
projektanta kolory pustyni jesienią.
DODAWANIE KOLOROM PRZEJRZYSTOŚCI
Kolejną nową cechą zgodną z przeglądarką HTML5 jest przejrzystość lub zmienna siła krycia.
Nieprzejrzysty obiekt na ekranie blokuje wszystko, co znajduje się poniżej, podczas kiedy
przezroczysty obiekt zezwala na oglądanie wszystkiego poniżej — jak szkło. Wartość używana
do opisania poziomu siły krycia jest wyrażana za pomocą właściwości alfa ustawionej pomiędzy
0 i 1. Niezależnie od tego, czy używamy formatowania kolorów RGB, czy HSL, alfa będzie
czwartym parametrem. (Niestety nie ma heksadecymalnego parametru alfa w CSS3). Na przykład
za pomocą ustawień rgba(255,0,0,0.5) stworzymy barwę czerwoną z 50-procentową siłą
krycia. Podobnie korzystając z ustawień hsla(120, 100%, 50%, 0.3), wygenerujemy barwę
zieloną z 30-procentową siłą krycia (lub 70-procentową przejrzystością).
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
W części IV książki omówię sposoby na dodanie głębi stronie za pomocą znacznika <canvas>.
Kiedy umieścisz obiekty jeden na drugim, lepiej zobaczysz, dlaczego posiadanie przejrzystości
na stronach jest ważne. Teraz potrzebujesz czegoś, co umieścisz poniżej bloków tekstu, które
będą mogły być oglądane poprzez blok przezroczystego tekstu. Najłatwiejszą metodą jest
umieszczenie obiektu tła za pomocą właściwości background-image. Poniższy fragment
kodu pokazuje, jak to zrobić:
body { background-image:url(plikObrazu.png); }
Twój obraz tła może być plikiem z rozszerzeniem .jpg, .gif lub .png. W tym przykładzie trzy
koła w kolorze czerwonym, zielonym i niebieskim są użyte jako tło, a w górnej części znajduje się
tekst <h1> z 50-procentową siłą krycia — ma to pokazać, że różne kolory są widoczne poprzez
przezroczysty obiekt. Poniższy kod (plik Transparent.html znajdujący się w folderze rozdziału 4.
pod adresem ftp://ftp.helion.pl/przyklady/tfanh5.zip) korzysta z obu formatowań, rgba() i hsla().
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
body {
background-image:url(rgbBalls.png);
}
.transRed {
color:rgba(255, 0, 0, .5);
}
.transGreen {
color:rgba(0, 255, 0, .5);
}
.transBlue {
color:hsla(240, 100%, 50%, .5);
}
.transBackground
{
background-color:hsla(120, 100%, 50%, .5);
}
</style>
<meta charset="utf-8">
<title>Przejrzystość/siła krycia</title>
</head>
<body>
<h1 class="transRed">Test 123, Test 123, Test 123</h1>
<h1 class="transGreen">Test 123, Test 123, Test 123</h1>
<h1 class="transBlue">Test 123, Test 123, Test 123</h1>
<h1 class="transBackground">Test 123, Test 123, Test 123</h1>
</body>
</html>
Wyniki pokazane na rysunku 4.6 są wyświetlane na iPhonie i wyglądają inaczej niż na ekranie
Twojego komputera.
85
CZĘŚĆ I: JĘZYK SIECI
Jak widzisz, przezroczysty tekst i tło pozwalają, żeby obiekt tła był widoczny. Kiedy kolor jest
przezroczysty, przejmuje część znajdujących się pod nim kolorów; kiedy więc z tego korzystasz,
zwróć uwagę, jaką kombinację będą tworzyły nakładające się na siebie kolory. (Przy okazji
rysunek 4.6 przedstawia, dlaczego rzadko używamy obiektów tła — mają tendencję do zaśmiecania
ekranu i psucia pozytywnego odbioru tekstu).
Rysunek 4.6. Przezroczysty tekst na solidnej grafice
TWORZENIE SCHEMATU KOLORU
86
Jeśli jesteś projektantem, możesz pomyśleć: „Jak u licha zdobędę kolory, których potrzebuję,
za pomocą tych wszystkich liczb?”. Jeśli natomiast jesteś programistą, możesz się zastanawiać:
„Skąd mogę wiedzieć, czy kolory, których używam, do siebie pasują?”. Na oba te pytania jest
jedna odpowiedź: Kuler. W aplikacji tej wprowadzasz główny (podstawowy) kolor, a ona
sprawdza, używając różnych algorytmów, które kolory są kompatybilne, oraz prezentuje
informacje dla dziesiętnych i heksadecymalnych wartości kolorów. Projektanci mogą umieścić
tam dowolne kolory, które chcą wykorzystać do stworzenia własnych schematów kolorów,
i Kuler zajmie się całą matematyką; programiści natomiast mogą umieścić tam całą matematykę,
a Kuler stworzy za nich schematy kolorów.
Aplikację Kuler znajdziesz pod adresem http://kuler.adobe.com. Wymaga ona wtyczki Flasha
— jest ona już wbudowana w większości przeglądarek, ale jeśli Twoja przeglądarka jej nie
posiada, możesz pobrać ją za darmo ze strony http://www.adobe.com/products/flashplayer.
Możesz też pobrać widget Kulera, który będzie działał na Twoim komputerze.
Z KOLORU PODSTAWOWEGO
Aby stworzyć schemat kolorów za pomocą aplikacji Kuler, zacznij od podstawowego koloru
i wypróbuj go za pomocą różnych algorytmów do generowania schematów kolorów. Potem
wybierz algorytm, który pokaże różne kolory dobrze wyglądające razem na wiele sposobów.
Opierając się na teorii kolorów, wybierz kategorię spośród analogicznych, jednobarwnych,
trójwartościowych, uzupełniających, złożonych, cieni i niestandardowych. Kategoria
niestandardowa jest dla projektantów, którzy używają swoich artystycznych umiejętności
do generowania palety. (Programiści są dobrze obsługiwani przez jeden z automatycznych
algorytmów). Rysunek 4.7 przedstawia typowy przykład schematu kolorów opartego na kolorze
podstawowym z użyciem algorytmu trójwartościowego.
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
Rysunek 4.7. Schemat kolorów z podstawowego koloru
Z OBRAZU
Poza tworzeniem palety kolorów z koloru podstawowego możesz też załadować obraz i aplikacja
Kuler automatycznie wygeneruje schemat kolorów w oparciu o kolory obrazu. Na przykład
rysunek 4.8 przedstawia dwa różne obrazy — logo i obraz — z odpowiadającą im paletą kolorów.
Rysunek 4.8. Schematy kolorów w oparciu o importowane obrazy
87
CZĘŚĆ I: JĘZYK SIECI
Niewłaściwe kombinacje kolorów
Aby zobaczyć różnicę pomiędzy użyciem dobrego i złego schematu kolorów, spójrz na przykład
zaczerpnięty z książki Lesliego Cabargi The Designer’s Guide to Color Combinations. Poniższy rysunek
przedstawia wygląd dwóch identycznych stron wyświetlanych na urządzeniu przenośnym — po lewej
strona ze schematem kolorów opartym o zdjęcie, po prawej przykład użycia niewłaściwych barw.
88
Dobry i zły kolor
Rysunek po lewej korzysta z kolorów wybranych ze zdjęcia, a ten po prawej nie — dodatkowo
przedstawia niewłaściwą kombinację kolorów.
Kiedy korzystamy z obrazu, możesz bardziej modyfikować schemat kolorów przez wybieranie
różnych odcieni — kolorowego, jasnego, przytłumionego, głębokiego i ciemnego. Wszystkie
schematy kolorów mogą być zapisywane i kiedy się ładują, zachowują wszystkie informacje,
których potrzebujesz, by wprowadzić dane koloru na stronie HTML5.
INTEGROWANIE TWOJEJ PALETY KOLORÓW
Z TWOJĄ STRONĄ
Posiadanie palety kolorów nie oznacza, że Twoja strona będzie wyglądać dobrze — nawet
jeżeli chodzi o właściwy dobór kolorów. Wewnątrz tej samej palety niektóre kolory pasują do
siebie lepiej od innych. Na przykład tło o barwach pośrednich może nie dawać kontrastu
pomiędzy innymi kolorami pośrednimi, więc ciemny lub jasny kolor w palecie może okazać
się lepszym wyborem. Rysunek 4.9 pokazuje paletę kolorów rozbudowaną w oparciu o logo,
która będzie wykorzystana jako paleta dla strony.
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
Rysunek 4.9. Paleta kolorów w oparciu o logo
Wartości liczb heksadecymalnych dla czterech kolorów zostały wklejone tutaj za pomocą CSS3
w górnej części strony HTML5 jako referencja. W poniższym listingu (plik SettingColors.html
znajdujący się w folderze rozdziału 4. pod adresem ftp://ftp.helion.pl/przyklady/tfanh5.zip) są
zastosowane kolory, które współgrają z logo i resztą strony.
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
/* 027333,7FA646,D9B448,F2DFA7 */
body {
margin-left:1em;
background-color:#F2DFA7;
color:#027333;
font-family:Verdana, Geneva, sans-serif;
font-size:11px;
}
h1 {
font-family:Tahoma, Geneva, sans-serif;
color:#7FA646;
}
h2 {
font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
color:#7FA646;
background-color:#D9B448;
}
div
{
text-align:center;
}
a {
font-family:Arial, Helvetica, sans-serif;
text-align:center;
font-size:10px;
text-decoration:none;
background-color:#027333;
color:#F2DFA7;
}
a:hover {
color:#D9B448;
}
</style>
<meta charset="utf-8">
<title>Ustalanie kolorów</title>
</head>
<body>
<div><nav>
89
CZĘŚĆ I: JĘZYK SIECI
<a href="#"> Odnośnik nr 1 | </a>
<a href="#"> Odnośnik nr 2 | </a>
<a href="#"> Odnośnik nr 3 &nbsp;</a>
</nav> </div>
<img src="Sandlightlogo.gif" alt="Logo" style="float:left;">
<header><h1>&nbsp; &nbsp;&nbsp;Witaj</h1></header>
<br><br>
<article>
<h2>&nbsp;Kim jesteśmy...</h2>
Sandlight Productions to międzynarodowa firma, która specjalizuje się w HTML5/CSS3,
´strumieniowym przesyłaniu obrazu wideo, rozwoju urządzeń przenośnych, edukacji
´online, architekturze Action-Script 3.0, Flashu i PHP.
</article>
<br>
<footer><div>
<nav>
<a href="#"> Odnośnik nr 1 | </a>
<a href="#"> Odnośnik nr 2 | </a>
<a href="#"> Odnośnik nr 3 &nbsp;</a>
</nav>
</div></footer>
</body>
</html>
90
Arkusz stylów korzysta z właściwości a:hover do jej zmiany, kiedy użytkownik najedzie
myszką na odnośnik. W znaczniku <a> definicji CSS3 text-decoration jest ustawiony na none,
co oznacza, że tekst odnośnika nie będzie podkreślony. Należy więc coś zrobić, by poinformować
użytkownika o obecności odnośnika; najlepiej za pomocą właściwości :hover. Zmieniony
kolor subtelnie, ale efektywnie pokaże użytkownikowi, że najechał myszką na odnośnik.
Kolor oryginalny i kolor odsyłacza należą do palety. Tworząc stronę, pamiętaj, że nie tylko
znaczniki <body> i <h..> korzystają z kolorów palety.
Projekt ten działa głównie na urządzeniach przenośnych (patrz prawy zrzut na rysunku 4.10),
ale powinien się sprawdzić również na komputerach i ekranach projekcyjnych (patrz lewy
zrzut na rysunku 4.10).
Oczywiście Twoja strona zawsze będzie wyglądała lepiej, jeśli jej projekt wykona projektant.
Programiści też mogą jednak ulepszyć jej wygląd, zwracając większą uwagę na kombinacje
kolorów.
DO DZIEŁA!
Poniższe dwa wyzwania powinny sprawić Ci przyjemność; co więcej, podejmując się ich, wiele
się nauczysz:
Odtworzenie wykresu koloru podstawowego: Na rysunku 4.1 znajduje się obraz
o standardowych kolorach. Twoim pierwszym wyzwaniem będzie sprawdzenie,
czy potrafisz odtworzyć stronę, która wyświetla te kolory. Oto kilka wskazówek
przed rozpoczęciem pracy:
ROZDZIAŁ 4: PRACA Z WARTOŚCIAMI KOLORÓW
91
Rysunek 4.10. Schemat kolorów stosowany na stronie
Zdefiniuj każdy nazwany kolor jako klasę w swoim kontenerze <style> tym
samym kolorem dla tekstu i tła.
.aqua { color:aqua; background-color:aqua; }
Jednym ze sposobów jest użycie znacznika <span> do przypisania klas zawartości
kontenera <span>.
<h3> <span class=aqua>NAZWA KOLORU</span><span class=black>NAZWA KOLORU
</span><span class=blue>NAZWA KOLORU</span><span class=fuchsia>NAZWA KOLORU
</span> <h3>
Twoje zdjęcie jest na stronie! To zadanie składa się z trzech części:
1. Zrób sobie zdjęcie cyfrowe, korzystając z wbudowanego w Twoim komputerze
aparatu, lub zgraj jakieś z aparatu cyfrowego.
2. Załaduj zdjęcie w aplikacji Kuler i stwórz paletę kolorów.
3. Stwórz stronę ze swoim zdjęciem, korzystając z palety kolorów wykonanej za
pomocą aplikacji Kuler.

Podobne dokumenty