Kako postaviti prozirnost pozadinske slike u CSS-u? Prozirna pozadina Kako napraviti pozadinu prozirnom u obliku
Vrlo često možete pronaći odgovarajuću sliku na Internetu, na primjer, da je umetnete na web mjesto. Ili možda radite kolaž, a jednom crtežu trebate dodati druge. Ali slike koje trebate obično imaju neku vrstu pozadine.
Hajdemo shvatiti kako možemo napravite prozirnu pozadinu za sliku pomoću uređivačaAdobePhotoshop. Imam instaliranu englesku verziju Adobe Photoshop CS5, pa ću vam je pokazati.
Pokušat ću pružiti različite kombinacije prečaca.
Ako još nemate instaliran Photoshop, rijetko ga koristite ili je na engleskom, možete napraviti prozirnu pozadinu u Paint.net. Ovo je jednostavan uređivač slika na ruskom jeziku koji neće zauzeti puno prostora na vašem tvrdom disku. Klikom na poveznicu možete pročitati detaljan članak. Program Paint.net možete preuzeti s naše web stranice.
Prvo, pogledajmo jednostavan primjer. Recimo da imate sliku na običnoj pozadini, to može biti logotip ili naziv nečega. Napravimo ovaj logo ili natpis na prozirnoj pozadini u Photoshopu.
Otvorite željenu sliku u editoru. Sada napravimo prozirnu pozadinu za sloj. U prozoru "Slojevi" dvaput kliknite na dodani sloj - nasuprot njega će se nalaziti lokot. Otvorit će se prozor "Novi sloj", kliknite "U redu" u njemu. Nakon toga, brava će nestati.
Odaberite alat "Čarobni štapić". Na traci svojstava odredite razinu osjetljivosti, postavite različite vrijednosti da biste razumjeli kako radi, na primjer, 20 i 100. Da biste poništili odabir slike, pritisnite "Ctrl+D".
Postavite osjetljivost i čarobnim štapićem kliknite na područje pozadine. Kako biste odabranoj pozadini dodali one dijelove koji nisu odabrani, držite pritisnut “Shift” i nastavite s odabirom. Za brisanje odabranih područja kliknite na "Izbriši".
Sada umjesto pozadine postoji šahovnica - to znači da smo uspjeli učiniti bijelu pozadinu prozirnom. Ukloni odabir – “Ctrl+D”.
Ako imate sliku ili fotografiju koja ima puno različitih boja i objekata, pogledajmo kako napraviti prozirnu pozadinu za sliku u Photoshopu.
U ovom slučaju koristit ćemo se alatom za brzi odabir. Kliknite na čarobni štapić lijevom tipkom miša uz malu odgodu i odaberite željeni alat iz izbornika.
Sada trebamo odabrati objekt koji želimo ostaviti na prozirnoj pozadini. Na traci svojstava postavite različite veličine i kliknite na objekt, dodajući mu područja. Ako je greškom odabrana nepotrebna pozadina, pritisnite "Alt" i uklonite je.
Za pregled rezultata pritisnite "Q". Oni dijelovi slike koji će postati prozirni bit će označeni ružičastom bojom.
Kopirajte odabrana područja pritiskom na “Ctrl+C”. Zatim stvorite novu datoteku, "Ctrl+N", s prozirnom pozadinom.
Zalijepite kopirane fragmente u njega, "Ctrl + V". Ako su na njima ostali nepotrebni dijelovi pozadine, uklonite ih alatom Eraser. Slike snimljene na prozirnoj pozadini spremamo u PNG ili GIF formatu.
Učinite bijelu pozadinu slike prozirnom ili napravite prozirnu pozadinu za pojedinačne fragmente slike u boji ili fotografije u Photoshopu. Nakon toga ih možete koristiti gdje je potrebno: umetnuti ih na web stranicu, dodati na drugi crtež ili napraviti zanimljive kolaže.
Transparentnost CSS pozadine
Transparentnost pozadine na web mjestu stvara se pomoću CSS svojstava. Transparentnost možete postići na dva načina: kroz svojstvo opacity i background:rgba(). Pogledajmo svaki od njih, a zatim napravimo usporedbu.
1. Svojstvo neprozirnosti CSS-a za prozirnost pozadine
CSS ima svojstvo neprozirnosti, koje se može koristiti za postavljanje prozirnosti slika, teksta, uključujući pozadinu.
Transparentnost se navodi jednostavno određivanjem realnog broja od 0,0 do 1,0. Što je manji broj, objekt će biti manje uočljiv.
neprozirnost: 0,5; // Zasjenjenost translucencije: 0,2; // Objekt je vidljiv samo na 20% neprozirnosti: 0.8; // Objekt je vidljiv samo 80%.
Pogledajmo primjer sa svojstvom neprozirnosti.
Tekst je također transparentan
2. Transparentnost putem svojstva CSS background:rgba().
Druga opcija za postavljanje transparentnosti pozadine na web stranici je CSS svojstvo background:rgba. Pogledajmo primjer
Tekst je također transparentan
Ovaj kod na stranici prevodi sljedeće:
Razlika između ove dvije metode je u tome što tekst unutar bloka postaje proziran kada se koristi neprozirnost.
U drugom slučaju nema takvog problema. Stoga morate sagledati situaciju - što točno očekujete.
Prozirni učinak elementa jasno je vidljiv na pozadinskoj slici i postao je raširen u različitim operativnim sustavima jer izgleda elegantno i lijepo. U web dizajnu također se koristi translucencija i postiže se svojstvom neprozirnosti ili RGBA formatom boje koji je postavljen za pozadinu.
Svojstvo neprozirnosti
Glavna značajka ovog svojstva je da vrijednost prozirnosti utječe na sve podređene elemente unutar njega, a ne samo na pozadinu. To znači da će i pozadina i tekst postati prozirni i nećete moći povećati razinu prozirnosti dodavanjem . U tablici Slika 1 prikazuje izgled teksta i pozadine s različitim vrijednostima neprozirnosti.
Primjer 1 pokazuje kako stvoriti poluprozirni blok pomoću neprozirnosti.
Primjer 1: Pozadina na web stranici
HTML5 CSS3 IE 9+ Cr Op Sa Fx
neprozirnost
RGBA
Obično bi prema dizajnu samo pozadina elementa trebala biti prozirna, a tekst bi trebao biti neproziran kako bi se zadržala čitljivost. Svojstvo neprozirnosti ovdje nije prikladno jer će tekst unutar elementa također biti djelomično proziran. Najbolje je koristiti RGBA format koji u svom sastavu ima alfa kanal, odnosno vrijednost transparentnosti. Vrijednost je napisana rgba, zatim su vrijednosti komponente crvene, plave i zelene boje navedene u zagradama, odvojene zarezima. Posljednja je prozirnost, koja se postavlja od 0 do 1 (slika 1), pri čemu 0 znači potpunu prozirnost, a 1 neprozirnost boje.
Riža. 1. Sintaksa za korištenje rgba
Primjer 2 prikazuje korištenje RGBA formata za stvaranje prozirne pozadine.
Primjer 2. Prozirna pozadina
HTML5 CSS3 IE 9+ Cr Op Sa Fx
rgba
Hobbes je bio jedan od prvih koji je istaknuo ovaj problem iz perspektive psihologije.
Rezultat ovog primjera prikazan je na sl. 2. Neprozirnost pozadine postavljena je na 90%.
Riža. 2. Prozirna pozadina i neproziran tekst
Za stvaranje transparentnog efekta u CSS-u koristi se svojstvo neprozirnosti.
IE8 i starije verzije podržavaju alternativno svojstvo - filter:alpha(opacity=x) , gdje " x " može biti u rasponu od 0 do 100 , što je niža vrijednost, to će element biti transparentniji.
Svi ostali preglednici podržavaju standardnu neprozirnost CSS svojstva, koja kao vrijednost može uzeti broj od 0,0 do 1,0, što je niža vrijednost, to će element biti transparentniji:
Naziv dokumenta
Pokušajte »
Transparentnost pri lebdenju
Pseudo-class:hover vam omogućuje promjenu izgleda elemenata kada iznad njih prijeđete kursorom miša. Koristit ćemo ovu značajku kako bi slika izgubila prozirnost kada prijeđemo pokazivačem iznad:
Naziv dokumenta
Pokušajte »
Prozirnost pozadine
Postoje dva moguća načina da se element učini transparentnim: gore opisano svojstvo neprozirnosti i određivanje boje pozadine u RGBA formatu.
Možda ste već upoznati s RGB modelom predstavljanja boja. RGB (Red, Green, Blue - crvena, zelena, plava) sustav je boja koji određuje nijansu miješanjem crvene, zelene i plave. Na primjer, da biste postavili boju teksta na žutu, možete koristiti bilo koju od sljedećih deklaracija:
Boja: rgb(255,255,0); boja: rgb(100%,100%,0);
Boje određene korištenjem RGB-a razlikovat će se od heksadecimalnih vrijednosti koje smo prethodno koristili po tome što dopuštaju upotrebu alfa kanala prozirnosti. To znači da će kroz pozadinu elementa s alfa prozirnošću biti vidljivo ono što se nalazi ispod njega.
Deklariranje RGBA boje slično je u sintaksi standardnim RGB pravilima. Međutim, također ćemo morati deklarirati vrijednost kao RGBA (umjesto RGB) i navesti dodatnu decimalnu vrijednost prozirnosti nakon vrijednosti boje između 0,0 (potpuno prozirno) i 1 (potpuno neprozirno).
Razlika između svojstva neprozirnosti i svojstva RGBA je u tome što svojstvo neprozirnosti primjenjuje prozirnost na cijeli element, što znači da cijeli sadržaj elementa postaje proziran. A RGBA vam omogućuje postavljanje prozirnosti pojedinačnih dijelova elementa (na primjer, samo teksta ili pozadine):
Napomena: RGBA vrijednosti nisu podržane u IE8 i ranijim verzijama. Da biste deklarirali zamjensku boju za starije preglednike koji ne podržavaju alfa vrijednosti boja, trebali biste je prvo navesti prije RGBA vrijednosti: pozadina: rgb(255,255,0); pozadina: rgba(255,255,0,0.5);
Danas želim razgovarati o prozirnoj pozadini bloka teksta, kako je napraviti i što CSS3 nudi za to. Prije nego što prijeđemo na rgba i hsla, pogledajmo primjere korištenja prozirne pozadine za blok s tekstom, odnosno kako se to postiže i koji problemi nastaju. Za demonstraciju ćemo koristiti ovu sliku, obrađenu nekim programom u Javi, a poveznica na koju je, nažalost, davno izgubljena.
Pogledajte sliku ispod. Postoji grafička pozadina na kojoj želite prekriti proziran blok s tekstom. Idealno bi bilo ono što je na slici označeno brojem 2, no ponekad se može dogoditi ono što je označeno brojem 3. Postoji još jedan nedostatak, ali ću ga usmeno spomenuti malo niže, jer Nije bilo načina da se napravi snimka zaslona.
Prozirna pozadina bez rgba i hsla
Proziran PNG. Najbolja opcija, jer Danas je to najviše cross-browser i najlakši. Da bi blok bio proziran, potreban je proziran PNG od jednog piksela koji je postavljen kao pozadina bloka. To je sve. Mane: Potreban je samo jedan.
Prozirnost kroz neprozirnost. Transparentnost bloka postavljena je na više preglednika na sljedeći način:
gdje su 0,5 i 50 50% prozirnosti. Ali postoji problem. Ako postavimo blok koji nam treba da ima takvu prozirnost, tada ćemo na gornjoj slici vidjeti onu treću opciju - sadržaj bloka će također postati proziran. Međutim, postoji izlaz - besplatno pozicioniranje, uz pomoć kojeg se ispod tekstualnog bloka postavlja još jedan blok, kojem se daje prozirnost.
Pogledajmo primjer. Neka blok s narančastom slikom bude body tag, spremnik koji sadrži i tekst i prozirnu pozadinu - #block_bg, unutar kojeg je blok s prozirnom pozadinom #block_transparent i blok s tekstom - #block_text.
Imajte na umu da je potrebno postaviti širinu prozirnog bloka (linija 19), inače će se skupiti u 1 piksel, i širinu općeg bloka (linija 5), inače će se tekst proširiti izvan prozirnog bloka (iako širina se može postaviti za tekst, ali nema bitne razlike). Da bismo imali uvlake od teksta i ruba prozirnog bloka, koristimo padding u šestom redu. Da bi prozirnost bila podesiva po visini, dajemo joj veću visinu (linija 18) i preklapanje za opći blok (linija 4). Dakle, sve smo stavili u jedan blok, koji se može gurnuti u bilo koji dio stranice gdje postoji zanimljiva pozadina. Da, možda biste željeli staviti pozadinu na opći blok block_bg, ali bolje je da to ne činite - otežat ćete si život (ovisno, naravno, o zadatku). Drugim riječima, bolje je cijelu ovu strukturu gurnuti u zaseban blok, koji se može podstaviti i ne morate brinuti o tome. Mane: Preglomazno.
rgb i hsl, rgba i hsla – CSS3 svojstva
Točnije, ovo nisu baš svojstva - ovo je nova mogućnost postavljanja boja za svojstva kao što su pozadina, boja, obrub itd.
Imena svojstava dolaze iz sustava boja RGB (Red, Green, Blue) i HSL (Hue, Satutation, Lightness). Prvi sustav opisuje prostor boja miješanjem primarnih boja - crvene, zelene i plave. U drugom sustavu komponente boje prikazuju informacije o boji u obliku poznatijem ljudima: Koja je ovo boja? Koliko je zasićen? Koliko je svijetlo ili tamno?
rgb i rgba
Počnimo s rgb i rgba. Vrijednosti r, g, b mogu se postaviti od 0 do 255 ili od 0% do 100%. Vrijednost a (alfa, prozirnost) mjeri se od 0 do 1 (frakcijske vrijednosti navedene su kroz točku - 0,4, 0,7 itd.). Ako su r, g i b postavljeni na vrijednosti veće od njihovog prihvatljivog raspona (na primjer, 300 ili 110% ili -5), oni će se smanjiti na najbližu prihvatljivu vrijednost.
Pogledajmo sve na primjeru svojstva pozadine (iako oni koji žele mogu uzeti boju ili obrub).
Da, zaboravio sam reći da ne možete staviti razmak između svojstva i otvarajuće zagrade, te ne možete postaviti neke vrijednosti u običnim brojevima, a druge u postocima u istom retku. Ako to učinite, ništa neće uspjeti.
hsl i hsla
I nekoliko riječi o hsl i hsla. Vrijednost a postavlja se na isti način kao za rgb i rgba, ali s prva tri parametra stvari stoje malo drugačije. h se može postaviti od 0 do 360, a s i l mogu se postaviti od 0% do 100%.
I ono najvažnije. Ako je u RGB-u vrlo teško odrediti boju iz vaše glave (skoro uvijek vam je potreban program treće strane s kapaljkom), onda je ovdje dovoljno imati jednu sliku pred očima da sve sjedne na svoje mjesto. Na slici su prikazane nijanse parametra h.
Da biste procijenili potrebnu boju, odaberite nijansu, zatim procijenite s, zasićenost boje (gdje je 0% nezasićena boja (sivi ton), a 100% najzasićenija) i njezinu svjetlinu (0% - s njim će boja uvijek biti crna, a sa 100% - bijela). Na temelju gore navedenog, slika prikazuje svijetle tonove pri 100% zasićenosti i 50% svjetline.
Sada je cijeli prostor boja u vašoj glavi na prvi pogled. Naravno, ručni odabir ne zamjenjuje pipetu i ne treba svatko imati "prostor boja" u glavi, ali ponekad, kako bi se brzo shvatilo što je potrebno i testiralo, to je prikladno.
Mane: Donkey i stariji preglednici ne podržavaju sva 4 svojstva.
Završetak
Općenito, CSS3 pruža neke vrlo korisne stvari, ali kao i uvijek, IE je glavna kočnica napretku. Za klijentske stranice bih se za sada suzdržao od korištenja (uzalud će mi trošiti mozak) i uzeo bih opciju s PNG-om. I na vašoj web stranici - zašto ne. Pogotovo ako ga posjećuju napredni ljudi koji ne sjede na magarcima ili bilo kakvim krhotinama starine.
Dobar dan, štreberima za web razvoj, kao i početnicima. Za one koji ne prate IT trendove, odnosno web modu, želim vas svečano obavijestiti da je ova publikacija na temu: “Kako napraviti transparentni blok s css alatima” upravo za vas. Doista, u tekućoj 2016. godini uvođenje raznih transparentnih objekata u online usluge smatra se stilskim potezom.
Stoga ću vam u ovom članku reći o svim postojećim metodama stvaranja transparentnosti, počevši od pretpotopnih rješenja, usredotočit ću se na kompatibilnost rješenja s preglednicima, a također ću dati konkretne primjere programskog koda. Sada idemo na posao!
Metoda 1. Predpotopni
Dok su računala još bila slaba i "sposobnosti" nisu bile razvijene, programeri su smislili vlastiti način stvaranja prozirne pozadine: koristeći prozirne piksele naizmjence s onima u boji. Ovako stvoreni blok izgledao je poput šahovske ploče u mjerilu, ali u normalnoj veličini podsjećao je na neku vrstu prozirnice.
Ova, po meni, “štaka” svakako pomaže kod starijih verzija preglednika u kojima moderna rješenja ne rade. Ali vrijedi napomenuti da je prikaz teksta kvalitetan ,
upisan u takav, naglo pada.
Metoda 2. Ne smeta
U rijetkim slučajevima programeri rješavaju problem uvođenja prozirne slike umetanjem... gotove prozirne slike! U tu svrhu koriste se slike spremljene u PNG-24 formatu. Ovaj grafički format omogućuje postavljanje 256 razina prozirnosti.
Danas profesionalci koriste alat rgba (r, g, b, a).
Ranije sam vam rekao da je RGB jedan od popularnih modela boja, gdje je R odgovoran za sve nijanse crvene, G za nijanse zelene i B za nijanse plave.
U slučaju css parametra, varijabla A odgovorna je za alfa kanal, koji je pak odgovoran za transparentnost.
Glavna prednost potonje metode je da alfa kanal ne utječe na objekte koji se nalaze unutar stiliziranog bloka.
rgba(r, g, b, a) je podržan počevši od:
Opera verzija 10;
Internet Explorer 9;
Safari 3.2;
3 verzije Firefoxa.
Htio bih istaknuti jednu zanimljivu činjenicu! Omiljeni Internet Explorer 7 javlja pogrešku prilikom kombiniranja svojstava boja pozadine s nazivom boja (boja pozadine: zlatna). Stoga biste trebali koristiti samo: