Element je prozoren. Lastnost motnosti CSS: nadzira preglednost. Kako narediti element prosojen in odstraniti prosojnost v CSS

orem Ipsum je preprosto navidezno besedilo v industriji tiskanja in stavljenja. Lorem Ipsum je standardno lutkovno besedilo v industriji vse od 16. stoletja, ko je neznani tiskar vzel galejo črk in jo premešal, da bi naredil knjigo vzorcev tipov. Preživel je ne samo pet stoletij, ampak tudi preskok v elektronsko stavljanje Populariziran je bil v šestdesetih letih prejšnjega stoletja z izdajo listov Letraset, ki so vsebovali odlomke Lorem Ipsum, in nedavno s programsko opremo za namizno založništvo, kot je Aldus PageMaker, vključno z različicami Lorem Ipsum.
Že dolgo ugotovljeno dejstvo je, da bo bralec ob pogledu na njeno postavitev zmotil berljivo vsebino strani. Bistvo uporabe Lorem Ipsum je, da ima bolj ali manj normalno porazdelitev črk, v nasprotju z uporabo "Vsebina tukaj, vsebina tukaj", zaradi česar je videti kot berljiva angleščina. Številni paketi za namizno založništvo in urejevalniki spletnih strani zdaj uporabljajo Lorem Ipsum kot privzeto modelno besedilo in iskanje »lorem ipsum« bo odkrilo številna spletna mesta, ki so še v povojih. Skozi leta so se razvijale različne različice, včasih po naključju, včasih namenoma (vbrizgan humor in podobno).

Torej, danes bomo govorili o preglednost v html strani. Verjetno ste že kdaj naleteli na prozorne pojavne bloke, pa naj bo to fotogalerija ali obrazci za prijavo na kakšni priljubljeni spletni strani. Obstaja veliko uporab preglednosti v HTML. Torej, kako je narejen in kje se lahko uporablja?

No, najprej razumejmo, da naš dokument nima samo ene ravnine monitorja - na splošno je tridimenzionalen, to sem omenil v članku "Z-indeks". Skladno s tem bi tudi popolnoma prozorna plast, če bi bila na vrhu sklada zaslona, ​​blokirala dostop do drugih elementov. To je ena od glavnih uporab prozornih blokov. Čeprav se običajno uporablja učinek senčenja, bo popolnoma prozoren sloj deloval popolnoma enako. Tako na primer deluje veliko priljubljenih fotogalerij; organiziran je osenčen sloj, v katerem so prikazane fotografije in kontrolniki zanje. Preostali del strani je »prekrit« s (pol)prosojnim slojem, ki blokira dostop do vseh drugih elementov na strani. Tisti. Strani ne boste mogli zapustiti s klikom na katero koli povezavo na njej - celotno besedilo je prekrito z ozadjem. Za vrnitev v telo spletnega mesta običajno nudijo kontrolnike za zapiranje galerije, obrazec za prijavo itd. Nadzor prikazovanja/skrivanja prosojnih blokov z uporabo javascripta. Na žalost ni druge alternative. Brez uporabe ga uporabnik bodisi sploh ne bo videl prozoren blok ali je ne bo mogel zapreti, ne da bi zapustil trenutno stran. Ugotavljam, da se za to uporabljajo lastnosti vidnosti ali prikaza.

Kako je torej preglednost dejansko organizirana v html? Nastavitev prosojnosti elementa na splošno ni vključena v specifikacijo CSS, zato morate za ustvarjanje uporabiti več navodil hkrati. Nekateri brskalniki (tj.) bodo delovali z eno možnostjo, drugi z drugo. Uporablja vgrajeno funkcijo filtra, drugi brskalniki pa uporabljajo lastnost "opacity", ki je nastavljena v območju od 0 (popolnoma prozoren predmet) do 1 (popolnoma neprozoren). Na primer, v primeru 30-odstotne preglednosti bi morali napisati " motnost:0,30; filter:alfa(motnost=30);". Lastnosti, kot je razvidno iz primera, so podobne - le v prvem primeru se uporablja številka od 0 do 1, v drugem pa odstotni zapis. Primer takega bloka:

<slog div = "položaj: absolutno; zgoraj: 0; levo: 0; barva ozadja: rgb (18, 114, 214); širina: 100 %; id = "VideoFrame" >

Primer uporablja blok prikaza videa, ki se aktivira, ko kliknete sličico videa. Višina bloka ni določena, saj se lahko razlikuje glede na velikost zaslona in vsebino strani. Zato se ob odpiranju videa izračuna dinamično. Primer uporabe te tehnike si lahko ogledate na glavni strani spletnega mesta ruscircus.ru, na katerem sem nekoč delal.

To je pravzaprav vsa skrivnost preglednosti v html. Za doseganje transparentnega učinka uporabljamo z-indeks in motnost. In za to lahko najdete veliko aplikacij - tukaj je vse omejeno le z vašo domišljijo.

08.02.2013 Odgovoril bom na vprašanja, zastavljena v komentarjih, in sicer o tem, kako narediti neprozorno na prozornem bloku. Tukaj je vse preprosto, ni zaman, da sem v gradivu navedel povezavo do gradiva o z-indeksu, ustvariti morate še en blok z višjim z-indeksom od preglednega. Zdaj sem v nekaj minutah skiciral primer. Bloki:

<slog div = "položaj: absolutno; zgoraj: 0; levo: 0; barva ozadja: rgb (18, 114, 214); širina: 100 %; višina: 100 %; motnost:0,30; filter:alfa(motnost=30); vidnost: skrito; z-indeks:1;" id = "VideoFrame" > <div id = "VideoFrame2" style = "položaj: absolutno; zgoraj: 25 %; levo: 25 %; barva ozadja: bela; širina: 50 %; višina: 50 %; motnost:0,99; filter:alfa(motnost=99); vidnost: skrito; z-indeks:2;" onclick = "javascript:HideForm();" > Tukaj pišemo besedilo</div>

In funkcije javascript

< script type= "text/javascript" >function ShowForm() (document.getElementById ("VideoFrame" ) .style .visibility = "visible" ; document.getElementById ("VideoFrame2" ) .style .visibility = "visible" ; ) function HideForm() ( document.getElementById (" VideoFrame" ) .style .visibility = "hidden" ; document.getElementById ("VideoFrame2") .style .visibility = "hidden" ; )

Prva funkcija prikaže prozoren blok (skupaj z neprozornim besedilnim blokom) – lahko ga povežete z gumbom. povezava itd.. Druga funkcija, ki jo imam, je vezana na klik miške na blok z besedilom - skrije prozoren blok.

Upam, da sem nekaj pojasnil, kako to deluje. No, če ne, postavite vprašanja.

Lastnost CSS 3 nepreglednost omogoča preglednost enega ali drugega elementa spletnega mesta.

Stopnja prosojnosti elementa je določena z vrednostjo iz 0 prej 1 Kje 0 – popolnoma transparenten 1 – sploh nepregleden.. Torej na primer pomen 0.5 lastnosti nepreglednost uporabljen na sliki bo pomenilo, da mora biti ta slika prosojna.





Preglednost










Preglednost v IE

Internet Explorer ne podpira lastnosti nepreglednost do devete različice pa ima svoj filter, s katerim lahko nastaviš stopnjo preglednosti:

filter: alfa (motnost=50)

Pomen nepreglednost za filter brskalnika Internet Explorer se lahko razlikuje od 0 - popolnoma transparenten 100 - neprozoren





Preglednost v IE



Bloki tega menija bodo prosojni tudi pri lebdenju v IE!!


domov
Zemljevid strani
Kupite slona
Prodam slona
Najemite slona

Predpone.

Načeloma bi lahko s tem končali poglavje o transparentnosti, rad pa bi vam povedal tudi o t.i. predpone prodajalca.. ti tovariši nimajo posebnega odnosa do tega poglavja, vendar se bodo, ko napredujete pri učenju CSS3, pojavljali vse pogosteje in o njih morate nekje govoriti - zato vam bom povedal tukaj.

Predpone prodajalca so torej posebne predpone lastnosti CSS, ki jih uporabljajo brskalniki za poskusne lastnosti, ki niso uradno vključene v specifikacijo CSS.

Spomnimo se, da je specifikacija CSS 3 še v razvoju in formalno lastnosti, opisane v tej vadnici, v naravi ne obstajajo, vendar jih brskalniki že aktivno uporabljajo na lastno odgovornost in tveganje.

Zakaj na lastno odgovornost? Da, ker obstaja možnost, da se bodo lastnosti, opisane v njej, ko bo uradno odobrena specifikacija CSS 3, po svojem učinku razlikovale od lastnosti z istim imenom, ki jih že uporabljajo brskalniki. No, pojdimo noriti in pustimo razvijalcem specifikacije CSS 3, da določijo lastnino nepreglednost ne kot stopnja preglednosti bloka, ampak na primer kot njegovo senčenje ali utripanje (seveda pišem neumnosti), ki ga bo potem prikazalo na milijone že nameščenih brskalnikov, za katere nepreglednost Je to transparentnost?

Ali pa recimo, da so si razvijalci brskalnikov izmislili svojo lastnost - novost, ki je nima nihče drug nikjer, vendar dokument s tako lastnostjo ne prestane preverjanja veljavnosti, ker take lastnosti ni v specifikaciji.

Zaradi teh in drugih razlogov brskalniki dodajo predpone lastnosti, ki niso del uradne specifikacije. Vsak brskalnik ima svojo predpono, ki se začne z znakom "-", ta znak na začetku lastnosti in ta znak "_" v skladu s specifikacijo CSS 2.1 pomenita, da je lastnost rezervirana za razširitve CSS določenih brskalniki.

Tukaj so najbolj priljubljeni brskalniki in njihove predpone:

BrskalnikPredpona
Opera-o-
Firefox, SeaMonkey, Camino-moz-
Internet Explorer 8 in novejši-gospa-
Safari do različice 3, Konqueror-khtml-
Safari 3 in novejši, Google Chrome-webkit-

Uporaba predpon je zelo enostavna; preprosto vzemite katero koli lastnost CSS in ji nadomestite želeno predpono, na primer lastnosti nepreglednost nadomestek -moz- Izkazalo se je: -moz-motnost

Čeprav je v resnici moj izraz " uporabljajte predpone"narobe! pravzaprav ni nikjer nič nadomeščenega, preprosto obstaja lastnost nepreglednost, je tam -moz-motnost in to sta dve različni lastnosti, ki ni nujno, da opravljata isto funkcijo!! - to je treba razumeti..

Razumeti morate tudi, da lahko določeni specifični brskalniki, do določenih različic, podpirajo samo lastnosti CSS z lastnimi predponami (spet se narobe izražam, pravilno je reči lastne lastnosti – razširitve CSS brskalnika) in se lahko na začetku zanašajo na na specifikacije, tudi če so v razvoju. – V tem učbeniku bomo obravnavali vsak konkreten primer posebej.

V zvezi s tem poglavjem o preglednosti je treba opozoriti, da Firefox 3.5 in njegove prejšnje različice uporabljajo svojo lastnost -moz-motnost, brskalnik Safari do različice 1.1 pa uporablja njegovo lastnost -khtml-neprozornost .

Torej, da bi bil naš primer popolnoma združljiv med brskalniki, moramo kodi dodati še nekaj vrstic:





Predpone in preglednost





Kot lahko vidite, predpone znatno raztegnejo kodo in njihova uporaba ni vedno upravičena, če so različice brskalnikov, ki želijo delati z določenimi lastnostmi samo z njihovimi predponami, precej stare, kot je to v primeru lastnosti nepreglednost, potem vam jih ni treba navesti.. – čeprav je to seveda slab nasvet..

No, zdaj pa nekaj koristnih nasvetov...

Vedno uporabljajte predpone (razen seveda, če določen brskalnik ne more brez njih) v primerih, ko lahko uporabljena lastnost močno vpliva na delovanje, berljivost in uporabnost spletnega mesta. Ena stvar je, ko malenkosti v zasnovi spletnega mesta ne delujejo, in povsem druga stvar, ko na primer meni spletnega mesta ne deluje ali je nemogoče prebrati besedilo na spletnem mestu, ker brskalnik ne podpira nekaterih lastnosti in namesto tega uporablja podobno lastno.

Transparentnost v CSS je v zadnjem času precej trendovska tehnika, ki povzroča težave pri implementaciji med brskalniki. Še vedno ni univerzalne metode, ki bi omogočila implementacijo preglednosti za vse brskalnike. Vendar se je v zadnjem času stanje opazno izboljšalo.

Ta članek nudi podroben pregled obstoječih pristopov ter primere kode in razlage, ki vam bodo pomagali doseči enak rezultat v vseh brskalnikih z minimalnim naporom.

Ena stvar, ki jo je vredno omeniti, je, da čeprav preglednost obstaja že nekaj let, nikoli ni bila del standarda CSS. To je nestandardna lastnost, ki bi morala biti del specifikacije CSS3.

Star pristop

V starejših različicah Firefoxa in Safarija morate lastnost uporabiti na naslednji način:

#myElement ( -khtml-opacity: .5; -moz-opacity: 0.5; )

Lastnost -khtml-opacity je bila uporabljena v starejših različicah brskalnikov webkit. Ta lastnost je bila zastarela in ni več potrebna, razen če ste prepričani, da velik del prometa vašega spletnega mesta prihaja od obiskovalcev, ki uporabljajo Safari 1.x, kar je seveda malo verjetno.

Naslednja vrstica uporablja lastnost -moz-opacity, ki je delovala na zelo zgodnjih različicah motorja Mozilla. Firefox ga je prenehal podpirati v različici 0.9.

Preglednost CSS v Firefoxu, Safariju, Chromu in Operi

Za večino sodobnih brskalnikov zadostuje uporaba naslednje lastnosti:

#myElement ( motnost: .7; )

V zgornjem primeru je element nastavljen na 70 % motnosti (30 % prosojnosti). To pomeni, da če nastavimo vrednost na ena, bo element neprozoren in zato bo nastavitev te vrednosti na nič naredila nevidnega.

Lastnost neprozornosti obdela 2 decimalni števili. To pomeni, da se bo vrednost ".01" razlikovala od vrednosti ".02", čeprav to ni opazno.

Preglednost CSS za Internet Explorer

Kot običajno Internet Explorer ni prijazen do drugih brskalnikov. Poleg tega imamo sedaj v precej razširjeni uporabi tri različice tega brskalnika, od katerih je nastavitev preglednosti v vsaki drugačna in včasih zahteva dodaten trud za pozitiven rezultat.

#myElement (filter: alpha(opacity=40); )

Ta primer uporablja lastnost filtra, ki deluje v različicah 6-8, vendar za različici 6 in 7 obstaja ena omejitev: lastnost hasLayout elementa mora biti nastavljena na true . Ta lastnost je prisotna samo v IE in več o njej lahko preberete na primer na Habréju.

Drug način za nastavitev preglednosti z uporabo CSS v IE8 je uporaba naslednjega pristopa (upoštevajte komentarje):

#myElement ( filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); /* deluje v IE6, IE7 in IE8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=40)"; / * samo za IE8 */ )

Prva vrstica bo delovala v vseh trenutno uporabljenih različicah, druga pa samo v IE8. Upoštevajte, da druga vrstica uporablja predpono -ms- in je vrednost v narekovajih.

Nastavitev in spreminjanje prosojnosti CSS z uporabo JavaScripta ali jQueryja

Za nastavitev prosojnosti lahko uporabite naslednjo kodo:

Document.getElementById("myElement").style.opacity = ".4"; // za večino brskalnikov document.getElementById("myElement").style.filter = "alpha(opacity=40)"; // za IE

Seveda je v tem primeru veliko lažje uporabljati jQuery, poleg tega bo deloval v vseh brskalnikih:

$("#myElement").css(( motnost: .4 )); // deluje v vseh brskalnikih

To lastnost lahko animirate:

$("#myElement").animate(( opacity: .4 ), 1000, function() ( // Animacija je končana; ta koda deluje v vseh brskalnikih. ));

Funkcija RGBA

CSS3 načrtuje podporo kanalom alfa z uporabo funkcije rgba. Ta funkcija deluje v Firefoxu 3+, Operi 10.1+, Chrome 2+, Safariju 3.1+. Uporablja se takole:

#rgba (ozadje: rgba(98, 135, 167, .4); )

V tem primeru zadnji parameter označuje stopnjo motnosti.

funkcija HSLA

Podobno kot prejšnja funkcija tudi CSS3 omogoča nastavitev polprosojne barve s funkcijo HSLA, katere parametri so Odtenek, Nasičenost, Svetlost in Alfa kanal.

#hsla (ozadje: hsla(207, 38%, 47%, .4); )

Pomembna točka pri uporabi funkcij rgba in hsla je, da se nastavitev prosojnosti ne uporabi za podrejene elemente, medtem ko je uporaba lastnosti motnosti podedovana.

Če želite nadzirati prosojnost elementov strani, uporabite lastnost motnosti CSS. V skladu s specifikacijo velja za vse vrste vozlišč in je podprt v vseh sodobnih brskalnikih. Z njegovo pomočjo lahko ustvarite zanimiv dizajn ali izvedete priročno interaktivno interakcijo z uporabniki.

Možne vrednosti

Sintaksa za lastnost motnosti v css izgleda takole:

Izbirnik (motnost: 1; ) izbirnik (motnost: 0; ) izbirnik (motnost: 0,4; )

Vnos sprejema številske vrednosti v razponu od 0 do 1. Parameter lahko predstavlja ulomke ena, medtem ko se pika uporablja kot ločilo za celo število in ulomek v CSS.

Element z ničelno prosojnostjo postane neviden, vendar še vedno zaseda svoje mesto na strani in ohranja možnost interakcije z uporabnikom.

Če je vrednost lastnosti različna od nič, bo dejanska prosojnost izračunana kot odstotek neke zgornje meje. V običajni situaciji neprozornost: 1 določa popolno motnost elementa.

Preglednost podrejenih vozlišč

Če pa ima element nadrejenega elementa, katerega prosojnost ni ena, se izračun spremeni. Potomec ne more biti "manj pregleden" od katerega koli od svojih prednikov. Vrednost lastnosti motnosti CSS nadrejenega bloka postane zgornja meja motnosti podrejenega vozlišča.

Nadrejeni (motnost: 0,7; ) otrok (motnost: 1; )

V tem primeru bo podrejeni element 30 % prosojen, čeprav je vrednost motnosti ena.

Primeri uporabe

Primer 1: Prosojnost. Potrebno je, da je glavno ozadje bloka vidno pod ciljnim elementom.

Cilj (ozadje: črno; motnost: 0,5;)

Prosojno ne postane samo ozadje ciljnega bloka, ampak tudi besedilo.

Primer 2: Dinamični nadzor prosojnosti. Vrednost lastnosti motnosti CSS ciljnega bloka se spremeni, ko premaknete miškin kazalec nanj.

Cilj (motnost: 0,2;) .target:hover (motnost: 1;)

Dinamična preglednost

Zadnji primer dokazuje, da se prosojni elementi še naprej odzivajo na dogodke strani, kot je lebdenje. To vam omogoča uporabo javascripta za nadzor lastnosti motnosti CSS ter uporabo mehanizmov prehoda in animacije za gladko spreminjanje načina prikaza.

Za dostop do prosojnosti iz skripta morate dostopati do slogovnega objekta določenega elementa.

// pridobivanje trenutne vrednosti prosojnosti var opacity = element.style.opacity; // nastavitev nove vrednosti element.style.opacity = 0,4;

Gladko izginotje bloka je mogoče doseči z lastnostjo prehoda CSS:

Element ( motnost: 0,1; prehod: motnost 1000 ms; ) element: hover ( motnost: 0,8; prehod: motnost 2000 ms; )

Zdaj bo vozlišče elementa, ko lebdite z miško, spremenilo prosojnost z 10 na 80 % v eni sekundi, in ko bo kazalec zapustil, bo v dveh sekundah zatemnilo na prvotno vrednost.

Lastnost motnosti CSS v kombinaciji z mehanizmom prehoda omogoča ustvarjanje čudovitih učinkov.

Alfa kanal namesto motnosti

Glavne podrobnosti mehanizma motnosti v CSS:

  • njegov učinek se ne razširi samo na ozadje bloka, ampak tudi na njegovo besedilno vsebino, ki je po možnosti puščena čista;
  • podrejeni elementi ne morejo biti manj pregledni kot njihovi nadrejeni elementi.

Če ti učinki otežijo življenje oblikovalca postavitve, namesto motnosti uporabite preprosto prosojno ozadje in določite njegovo vrednost v formatu RGBA ali HSLA.

Vlad Merževič

Prosojni učinek elementa je jasno viden na sliki ozadja in je postal zelo razširjen v različnih operacijskih sistemih, ker izgleda elegantno in lepo. V spletnem oblikovanju se uporablja tudi prosojnost, ki se doseže z lastnostjo motnosti ali barvnim formatom RGBA, ki je nastavljen za ozadje.

Gradientni blok

Naredite blok, prikazan na sl. 1. Blok vsebuje prosojen gradientni okvir z gradientnim ozadjem pod naslovom in majhnim kazalcem. Ozadje na strani je na voljo samo zaradi jasnosti učinka prosojnosti; označite lahko katero koli svojo sliko. Najmanjša višina bloka je 100 slikovnih pik.

Kako narediti plast polprosojno?

Če želite spremeniti stopnjo prosojnosti elementa, uporabite lastnost sloga neprozornosti z vrednostjo od 0 do 1, kjer 0 ustreza popolni prosojnosti, 1 pa, nasprotno, neprozornosti predmeta. Ta lastnost ne deluje v Internet Explorerju, zato morate uporabiti filter posebej zanjo, lastnost, ki ni del specifikacije CSS. Primer 1 prikazuje, kako nastaviti prosojnost plasti za vse brskalnike.

Prosojno ozadje

Vlad Merževič

Delna preglednost, če je pravilno uporabljena, izgleda zelo impresivno v oblikovanju spletne strani. Glavna stvar je, da pod prosojnimi bloki ni monokromatskega dizajna, ampak slike, v tem primeru postane preglednost opazna. Ta učinek se doseže na več načinov in če se spomnite vseh, vključno s staromodnimi metodami, je uporaba slike PNG kot ozadja, ustvarjanje kariraste slike in lastnost motnosti. Toda takoj, ko se pojavi potreba po izdelavi prosojnega ozadja v bloku, imajo te metode neprijetno pomanjkljivost. Naredil bom kratek pregled, da bo jasno, o čem govorimo, pa tudi za tiste bralce, ki ne poznajo netradicionalnih možnosti za ustvarjanje prosojnega učinka.

Kako nastaviti tabelo, da bo prosojna, nekatere celice pa ne?

Če želite spremeniti prosojnost elementa, CSS3 zagotavlja lastnost motnosti, njena vrednost se lahko spreminja od 0 do 1. Nič ustreza popolni preglednosti elementa, ena pa, nasprotno, motnosti. Sodobni brskalniki delujejo s to lastnostjo povsem pravilno, z izjemo brskalnika Internet Explorer, zato morate zanj uporabiti posebno lastnost filtra z vrednostjo alpha(Opacity=X) , kjer lahko X variira od 0 do 100.