RGBa: jak zrobić kanał alfa (przezroczystość) w CSS?
Przezroczystość jest jedną z tych dziwnych rzeczy, które każda przeglądarka traktuje po swojemu. Od dawna w CSS dostępny atrybut opacity sprawia webmasterom wiele problemów. Zmusza wszystkie elementy potomne do tego, by również były przezroczyste, a jego obsługa w różnych przeglądarkach jest dość kłopotliwa – tak, że właściwie trzeba pisać kilka oddzielnych własności.
Istnieje jednak sposób na takie zadeklarowanie koloru w CSS, że będzie on obsługiwał kanał alfa (przezroczystość). Wygląda on następująco:
background: rgba(200, 200, 200, 0.5);
dzięki RGBa można łatwo stworzyć przezroczystą warstwę, która w żaden sposób nie będzie wpływała na jej potomne elementy. Pierwsze trzy wielkości określają kolor warstwy w przestrzeni RGB (przyjmując wartości od 0 do 255), zaś ostatnia określa stopień przezroczystości.
Na początku zdefiniujmy w arkuszu stylów klasę dla obrazka, na który nałożymy przezroczystą warstwę:
.obrazek { width: 200px; height: 300px; position: relative; }
a następnie klasę dla samej warstwy przezroczystości:
.alfa { position: absolute; width: 180px; height: 280px; top: 10px; left: 10px;
/* w razie problemów */
background: rgb(200, 200, 200);
/* przezroczystość */
background: rgba(200, 200, 200, 0.5);
}
Niektóre niezbyt kompatybilne ze standardami przeglądarki – przede wszystkim Internet Explorer 6, 7 i 8 – nie radzą sobie z RGBa. Dlatego powyżej zadeklarowaliśmy kolor, który można zastosować na wszelki wypadek, gdyby RGBa nie było obsługiwane.
Jak widać, rozmiary warstwy alfa są mniejsze od rozmiarów obrazka. Przytoczony tu kod należy przystosować do własnej grafiki.
Następnie w HTML-u umieszczamy przykładowo taki kod:
<div class="obrazek">
<img src="ptaszek.jpg">
<div class="alfa">Ptaszki</div>
</div>
Powinniśmy uzyskać następujący efekt:

Jak widać, napis nie jest przezroczysty.
Metoda ta działa z Firefoksem 3, Google Chrome, Operą 10 i Safari 3.
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
Korea Północna: korzystasz z telefonu komórkowego? Jesteś więc zbrodniarzem wojennym
5
Nowa polityka prywatności Google'a już za miesiąc wejdzie w życie. Mamy się czego bać?
16
Firefox 10 już jest. Wiele atrakcji dla programistów, użytkownicy raczej nic nie zauważą
9
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Linux wypiera z korporacyjnych serwerów już nie tylko Uniksy, ale i Windows
11
Źle się dzieje z Chrome, ze stabilnością coraz gorzej. Gdzie się podziała słynna izolacja procesów?
23
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Rząd Tuska zablokował dostęp do tańszych leków z internetowych aptek
61
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Społeczność
wujekbogdan Eksperci od bezpieczeństwa polecają WTW jako alternatywa dla...
hipertracker @slawek22, ORM wcale nie musi tworzyć nieoptymalnych kwerend. Poza tym...
matrixik A ja już długi czas temu przesiadłem się z Konnecta na Mirandę i jestem...
Rumcajs Kolejna PRowska ściema Donka. Już mnie krew zalewa.
Artykuł 41...
zalesz o Pan Sławek :)
Patrzę nic się nie zmieniło, w sumie to nic się nie...
slawek22 Jeszcze taka dygresja na poparcie tezy, akurat sobie czytałem o node...
slawek22 Tylko po co mi 5, 10 albo nawet 15 razy szybszy JRuby skoro całą "moc...
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Obsługa księgowa z językiem niemieckim
Tech Support Engineer with fluent English and German, French, Italian or Spanish
Młodszy Specjalista w Dziale Należności ze znajomością języka francuskiego
Analityk Baz Danych i Systemów Monitorowania
Menedżer ds. Klienta Biznesowego
Starszy Programista Aplikacji Internetowych/Team Leader
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 Kornel 2009-02-06 18:16:42 0
IP: 79.189.92.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
#2 eimi® 2009-02-06 19:17:50 0
IP: 88.156.95.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5 GTB5
#3 Kornel 2009-02-06 20:25:13 0
IP: 79.189.92.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
#4 eimi® 2009-02-06 21:03:35 0
IP: 88.156.95.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5 GTB5
#5 pako® 2009-02-07 09:08:16 0
IP: 213.156.117.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008122011 Iceweasel/3.0.5 (Debian-3.0.5-1)
#6 pako® 2009-02-07 09:10:27 0
IP: 213.156.117.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008122011 Iceweasel/3.0.5 (Debian-3.0.5-1)
#7 castor 2009-02-07 09:15:55 0
IP: 81.190.40.[...] Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; pl-pl) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1
#8 castor 2009-02-07 09:16:48 0
IP: 81.190.40.[...] Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; pl-pl) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1
#9 eimi ibn eimi 2009-02-07 09:37:07 0
IP: 88.156.95.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5 GTB5
#10 pako® 2009-02-07 16:41:01 0
IP: 213.156.117.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008122011 Iceweasel/3.0.5 (Debian-3.0.5-1)
#11 equw 2009-02-08 01:38:48 0
IP: 86.63.144.[...] Opera/9.63 (Windows NT 6.0; U; pl) Presto/2.1.1
#12 Marek® 2009-02-16 21:57:00 0
IP: 83.14.160.[...] Opera/9.63 (Windows NT 5.1; U; pl) Presto/2.1.1
#13 pako® 2009-02-17 19:02:12 0
IP: 213.156.117.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008122011 Iceweasel/3.0.5 (Debian-3.0.5-1)
#14 Kylo.el 2009-02-18 14:02:26 0
IP: 83.28.251.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729) Ubiquity/0.1.4
#15 WebJoker 2009-02-19 18:09:43 0
IP: 82.210.190.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 Ubiquity/0.1.5