Njẹ o ti ṣeto z-index: 99999 lori eroja kan ninu CSS rẹ, ati pe ko jade lori awọn eroja miiran? Iye kan ti o tobi yẹ ki o fi irọrun gbe nkan yẹn ni wiwo lori ohunkohun miiran, ni ro pe gbogbo awọn eroja oriṣiriṣi ti ṣeto ni boya iye kekere tabi ko ṣeto rara. Oju-iwe wẹẹbu kan maa n ṣe afihan ni aaye onisẹpo meji; sibẹsibẹ, nipa lilo awọn ohun-ini CSS kan pato, oju-ofurufu z-axis ti o ni imọran ni a ṣe afihan lati sọ ijinle. Ọkọ ofurufu yii jẹ papẹndikula si iboju, ati lati ọdọ rẹ, olumulo lo mọ aṣẹ ti awọn eroja, ọkan lori oke ekeji. Ero ti o wa lẹhin z-axis ti o ni imọran, imọran olumulo ti awọn eroja ti a ti tolera, ni pe awọn ohun-ini CSS ti o ṣẹda rẹ darapọ lati ṣe ohun ti a pe ni ipo iṣakojọpọ. A yoo sọrọ nipa bawo ni awọn eroja ti wa ni “tolera” lori oju opo wẹẹbu kan, kini o nṣakoso aṣẹ iṣakojọpọ, ati awọn isunmọ to wulo si awọn eroja “unstack” nigbati o nilo. Nipa Stacking Awọn ọrọ Fojuinu oju-iwe wẹẹbu rẹ bi tabili kan. Bi o ṣe ṣafikun awọn eroja HTML, o n gbe awọn ege iwe, ọkan lẹhin ekeji, lori tabili. Awọn ti o kẹhin nkan ti awọn iwe gbe ni deede si awọn julọ laipe fi kun HTML ano, ati awọn ti o joko lori oke ti gbogbo awọn miiran ogbe gbe niwaju rẹ. Eyi ni ṣiṣan iwe deede, paapaa fun awọn eroja itẹ-ẹiyẹ. Iduro naa funrarẹ duro fun ipo isakojọpọ root, ti a ṣẹda nipasẹ eroja , eyiti o ni gbogbo awọn folda miiran ninu. Bayi, awọn ohun-ini CSS kan pato wa sinu ere. Awọn ohun-ini bii ipo (pẹlu atọka z-), opacity, yipada, ati ninu) ṣiṣẹ bi folda kan. Fọọmu yii gba ipin kan ati gbogbo awọn ọmọ rẹ, yọ wọn jade lati akopọ akọkọ, o si ṣe akojọpọ wọn sinu akopọ ipin lọtọ, ṣiṣẹda ohun ti a pe ni aaye akopọ. Fun awọn eroja ti o wa ni ipo, eyi yoo ṣẹlẹ nigbati a ba sọ iye z-index yatọ si adaṣe. Fun awọn ohun-ini bii opacity, iyipada, ati àlẹmọ, ipo akopọ jẹ ṣẹda laifọwọyi nigbati awọn iye kan pato lo.

Gbiyanju lati loye eyi: Ni kete ti iwe kan (ie, nkan ọmọ) wa ninu folda kan (i.e., agbegbe akopọ ti obi), ko le jade kuro ni folda yẹn tabi gbe laarin awọn iwe sinu folda miiran. Z- atọka rẹ jẹ ibaramu nikan ni inu folda tirẹ.

Ninu apejuwe ti o wa ni isalẹ, Iwe B wa bayi laarin ipo akopọ ti Folda B, ati pe o le paṣẹ nikan pẹlu awọn iwe miiran ninu folda naa.

Fojuinu, ti o ba fẹ, pe o ni awọn folda meji lori tabili rẹ:

Fódà A
Fódà B

.folda-a {z-index: 1; } .folda-b {z-index: 2; }

Jẹ ki a ṣe imudojuiwọn isamisi diẹ diẹ. Inu Folda A jẹ oju-iwe pataki, z-index: 9999. Inu Folda B jẹ oju-iwe itele, z-index: 5.

Oju-iwe pataki

Ojúewé pẹlẹbẹ

.oju-iwe pataki {z-index: 9999; } .oju-iwe pẹtẹlẹ {z-index: 5; }

Oju-iwe wo ni o wa lori oke? O jẹ oju-iwe pẹtẹlẹ ni Folda B. Aṣàwákiri foju kọ awọn iwe ọmọ silẹ o si ṣajọ awọn folda meji ni akọkọ. O n wo Folda B (z-index: 2) o si gbe e si oke Folda A (z-index: 1) nitori a mọ pe meji tobi ju ọkan lọ. Nibayi, oju-iwe pataki ti a ṣeto si z-index: Oju-iwe 9999 wa ni isalẹ ti akopọ botilẹjẹpe z-index ti ṣeto si iye ti o ga julọ ti ṣee ṣe. Awọn ipo iṣakojọpọ tun le jẹ itẹ-ẹiyẹ (awọn folda inu awọn folda), ṣiṣẹda “igi idile.” Ilana kanna kan: ọmọde ko le sa fun folda awọn obi rẹ lae. Ni bayi ti o gba bawo ni awọn ipo iṣakojọpọ ṣe huwa bi awọn folda ti o ṣe akojọpọ ati tunto awọn ipele, o tọ lati beere: kilode ti awọn ohun-ini kan - bii iyipada ati opacity - ṣẹda awọn aaye akopọ tuntun? Eyi ni ohun naa: awọn ohun-ini wọnyi ko ṣẹda awọn ipo akopọ nitori bi wọn ṣe wo; wọn ṣe nitori bi ẹrọ lilọ kiri ayelujara ṣe n ṣiṣẹ labẹ hood. Nigbati o ba lo iyipada, opacity, àlẹmọ, tabi irisi, o n sọ fun ẹrọ aṣawakiri naa, “Hey, nkan yii le gbe, yiyi, tabi ipare, nitorinaa mura!”

Nigbati o ba lo awọn ohun-ini wọnyi, ẹrọ aṣawakiri naa ṣẹda ipo iṣakojọpọ tuntun lati ṣakoso ṣiṣe daradara siwaju sii. Eyi ngbanilaaye ẹrọ aṣawakiri lati mu awọn ohun idanilaraya, awọn iyipada, ati awọn ipa wiwo ni ominira, idinku iwulo lati tun ṣe iṣiro bi awọn eroja wọnyi ṣe nlo pẹlu iyoku oju-iwe naa. Ronu nipa rẹ bi ẹrọ aṣawakiri ti n sọ pe, “Emi yoo mu folda yii lọtọ ki Emi ko ni lati tun gbogbo tabili pada ni gbogbo igba ti ohunkan ninu rẹ ba yipada.” Ṣugbọn o waa ẹgbẹ ipa. Ni kete ti ẹrọ aṣawakiri naa ba gbe nkan kan sinu ipele tirẹ, o gbọdọ “pin” ohun gbogbo ti o wa ninu rẹ, ṣiṣẹda aaye akopọ tuntun kan. O dabi gbigbe folda kan kuro ni tabili lati mu ni lọtọ; Ohun gbogbo ti o wa ninu folda yẹn ni a ṣe akojọpọ, ati ẹrọ aṣawakiri naa ṣe itọju rẹ bi ẹyọkan kan nigbati o pinnu kini o joko lori kini. Nitorinaa botilẹjẹpe iyipada ati awọn ohun-ini opacity le ma han lati ni ipa ni ọna ti awọn eroja ṣe akopọ ni wiwo, wọn ṣe, ati pe o jẹ fun iṣapeye iṣẹ. Orisirisi awọn ohun-ini CSS miiran tun le ṣẹda awọn ipo akopọ fun awọn idi kanna. MDN n pese atokọ pipe ti o ba fẹ ma wà jinle. Awọn diẹ ni o wa, eyiti o ṣapejuwe bi o ṣe rọrun lati ṣe airotẹlẹ ṣẹda ipo iṣakojọpọ laisi mimọ rẹ. Awọn isoro "Unstacking". Awọn ọran ikọlu le dide fun awọn idi pupọ, ṣugbọn diẹ ninu jẹ wọpọ ju awọn miiran lọ. Awọn paati awoṣe jẹ apẹrẹ Ayebaye nitori wọn nilo yiyi paati lati “ṣii” lori Layer oke ju gbogbo awọn eroja miiran lọ, lẹhinna yọkuro kuro ni ipele oke nigbati o “tipade.” Mo ni igboya pupọ pe gbogbo wa ti lọ sinu ipo kan nibiti a ṣii modal ati, fun ohunkohun ti idi, ko han. Kii ṣe pe ko ṣii daradara, ṣugbọn pe ko si ni wiwo ni ipele kekere ti ipo akopọ. Eyi jẹ ki o ṣe iyalẹnu “bawo ni?” niwon o ṣeto:

.bori { ipo: ti o wa titi; /* ṣẹda ipo isakojọpọ */ z- atọka: 1; /* fi eroja sori ipele kan ju ohun gbogbo lọ */ ifibọ: 0; iwọn: 100%; iga: 100vh; àkúnwọ́sílẹ̀: farasin; abẹlẹ-awọ: # 00000080; }

Eyi dabi pe o tọ, ṣugbọn ti o ba jẹ pe nkan obi ti o ni okunfa modal jẹ ẹya ọmọ laarin nkan obi miiran ti o tun ṣeto si z-index: 1, iyẹn ni imọ-ẹrọ gbe ipo modal sinu sublayer ti o ṣokunkun nipasẹ folda akọkọ. Jẹ ki a wo oju iṣẹlẹ kan pato ati tọkọtaya kan ti awọn ọfin-ọgọ-ọrọ ti o wọpọ miiran. Mo ro pe iwọ yoo rii kii ṣe bi o ṣe rọrun nikan lati ṣẹda awọn ipo iṣakojọpọ lairotẹlẹ, ṣugbọn tun bi o ṣe le ṣakoso wọn. Pẹlupẹlu, bi o ṣe pada si ipo iṣakoso da lori ipo naa. Oju iṣẹlẹ 1: Modal idẹkùn

O le lẹsẹkẹsẹ wo modal rẹ idẹkùn ni ipele kekere kan ki o ṣe idanimọ obi naa. Awọn amugbooro aṣawakiri Awọn olupilẹṣẹ Smart ti kọ awọn amugbooro lati ṣe iranlọwọ. Awọn irin-iṣẹ bii “CSS Stacking Context Inspector” Chrome itẹsiwaju ṣafikun afikun taabu z-index si Awọn irinṣẹ DevTools rẹ lati fi alaye han ọ nipa awọn eroja ti o ṣẹda ipo akopọ.

IDE amugbooro O le paapaa ni iranran awọn ọran lakoko idagbasoke pẹlu itẹsiwaju bii eyi fun koodu VS, eyiti o ṣe afihan awọn ọran ipo ipo iṣakojọpọ taara taara ninu olootu rẹ.

Unstacking Ati Gbigba Iṣakoso Lẹhin ti a ti mọ idi ti gbongbo, igbesẹ ti n tẹle ni lati koju rẹ. Awọn ọna pupọ lo wa ti o le mu lati koju iṣoro yii, ati pe Emi yoo ṣe atokọ wọn ni ibere. O le yan ẹnikẹni ni eyikeyi ipele, tilẹ; kò sí ẹni tí ó lè ráhùn tàbí dí ẹlòmíràn lọ́wọ́. Yi Eto HTML pada Eyi ni a gba pe atunṣe to dara julọ. Fun o lati ṣiṣe awọn sinu kan stacking o tọ oro, o gbọdọ ti gbe diẹ ninu awọn eroja ni funny awọn ipo laarin rẹ HTML. Atunto oju-iwe naa yoo ṣe iranlọwọ fun ọ lati tun DOM ṣe ati imukuro iṣoro ọrọ-ọrọ akopọ. Wa nkan ti o ni iṣoro ki o yọ kuro lati nkan idẹkùn ni isamisi HTML. Fun apẹẹrẹ, a le yanju oju iṣẹlẹ akọkọ, "Modal Trapped," nipa gbigbe .modal-container kuro ninu akọsori ati gbigbe si inu eroja funrararẹ.

Akọsori

Nigbati o ba tẹ bọtini “Modal Ṣii”, modal wa ni ipo ni iwaju ohun gbogbo miiran bi o ti yẹ lati jẹ. Wo Oju iṣẹlẹ Pen 1: Modal idẹkùn (Ojutu) [forked] nipasẹ Shoyombo Gabriel Ayomide. Ṣatunṣe AwọnỌrọ Iṣakojọpọ Obi Ni CSS Kini ti nkan naa ba jẹ ọkan ti o ko le gbe laisi fifọ ifilelẹ naa? O dara lati koju ọrọ naa: obi ṣe agbekalẹ ọrọ naa. Wa ohun-ini CSS (tabi awọn ohun-ini) ti o ni iduro fun nfa ọrọ-ọrọ naa ki o yọ kuro. Ti o ba ni idi kan ati pe ko le yọkuro, fun obi ni iye z-index ti o ga ju awọn eroja arakunrin rẹ lọ lati gbe gbogbo apoti naa. Pẹlu iye z- atọka ti o ga julọ, apoti obi n gbe lọ si oke, ati pe awọn ọmọ rẹ han isunmọ si olumulo. Da lori ohun ti a kọ ni oju iṣẹlẹ “Idasilẹ Submerged”, a ko le gbe silẹ kuro ni navbar; kii yoo ni oye. Sibẹsibẹ, a le ṣe alekun iye z- atọka ti apoti .navbar lati jẹ ti o tobi ju iye z-index element .content. .navbar { lẹhin: # 333; /* z- atọka: 1; */ z- atọka: 3; ipo: ojulumo; }

Pẹlu iyipada yii, akojọ aṣayan-silẹ bayi han ni iwaju akoonu laisi eyikeyi oro. Wo Oju iṣẹlẹ Pen 2: Isọ silẹ Submerged (Ojutu) [forked] nipasẹ Shoyombo Gabriel Ayomide. Gbiyanju Awọn ọna abawọle, Ti o ba Lo Ilana kan Ni awọn ilana bii React tabi Vue, Portal jẹ ẹya kan ti o jẹ ki o ṣe paati kan ni ita awọn ipo ipo obi deede rẹ ni DOM. Awọn ọna abawọle dabi ẹrọ teliportation fun awọn paati rẹ. Wọn jẹ ki o ṣe HTML paati nibikibi ninu iwe-ipamọ naa (eyiti o tọ si iwe-ipamọ.body) lakoko ti o tọju ni ọgbọn ti o sopọ mọ obi atilẹba rẹ fun awọn atilẹyin, ipinlẹ, ati awọn iṣẹlẹ. Eyi jẹ pipe fun salọla awọn ẹgẹ ọrọ sisọ niwọn igba ti iṣelọpọ ti a ṣe ni itumọ ọrọ gangan han ni ita eiyan obi iṣoro. ReactDOM.createPortal( , iwe.ara );

Eyi ṣe idaniloju akoonu sisọ silẹ rẹ ko farapamọ lẹhin obi rẹ, paapaa ti obi ba ni aponsedanu: ti o farapamọ tabi itọka z-kekere kan. Ninu oju iṣẹlẹ “Ọpa Tigepa” ti a wo ni iṣaaju, Mo lo Portal kan lati gba ohun elo irinṣẹ silẹ lati inu iṣan omi: agekuru ti o farapamọ nipa gbigbe si ara iwe-ipamọ ati gbigbe si oke okunfa laarin apo eiyan naa. Wo Oju iṣẹlẹ Pen 3: Ohun-elo Ti Agege (Ojutu) [forked] nipasẹ Shoyombo Gabriel Ayomide. Ṣafihan Ọrọ Iṣakojọpọ Laisi Awọn ipa ẹgbẹ Gbogbo awọn isunmọ ti a ṣalaye ni apakan ti tẹlẹ jẹ ifọkansi si awọn eroja “yiyọ” lati awọn ipo isakojọpọ iṣoro, ṣugbọn awọn ipo kan wa nibiti iwọ yoo nilo nitootọ tabi fẹ lati ṣẹda aaye akopọ kan. Ṣiṣẹda ipo iṣakojọpọ tuntun jẹ irọrun, ṣugbọn gbogbo awọn isunmọ wa pẹlu ipa ẹgbẹ kan. Iyẹn ni, ayafi fun lilo ipinya: sọtọ. Nigbati a ba lo si ohun elo kan, ipo iṣakojọpọ ti awọn ọmọ ohun elo yẹn ni ipinnu ni ibatan si ọmọ kọọkan ati laarin ọrọ-ọrọ yẹn, dipo ki o ni ipa nipasẹ awọn eroja ti ita rẹ. Apeere alailẹgbẹ jẹ fifi ipin yẹn si iye odi, gẹgẹbi z-index: -1. Fojuinu pe o ni paati kaadi . O fẹ lati ṣafikun apẹrẹ ti ohun ọṣọ ti o joko lẹhin ọrọ kaadi kaadi, ṣugbọn lori oke ti ẹhin kaadi naa. Laisi ipo akopọ lori kaadi, z-Atọka: -1 firanṣẹ apẹrẹ si isalẹ ti aaye akopọ root (gbogbo oju-iwe). Eyi jẹ ki o parẹ lẹhin ẹhin funfun .kaadi naa: Wo Pen Negative z-index (iṣoro) [forked] nipasẹ Shoyombo Gabriel Ayomide. Lati yanju eyi, a kede ipinya: ya sọtọ lori kaadi obi: Wo Pen Negative z-index (ojutu) [forked] nipasẹ Shoyombo Gabriel Ayomide. Bayi, awọn .kaadi ano ara di a stacking o tọ. Nigbati ano ọmọ rẹ - apẹrẹ ti ohun ọṣọ ti a ṣẹda lori: ṣaaju ki o to pseudo-element — ni z-index: -1, o lọ si isalẹ pupọ ti ipo akopọ obi. O joko ni pipe lẹhin ọrọ ati lori ẹhin kaadi, bi a ti pinnu. Ipari Ranti: nigbamii ti z-atọka rẹ dabi pe ko ni iṣakoso, o jẹ ipo ti o ni idẹkùn. Awọn itọkasi

Àkópọ̀ àyíká (MDN) Atọka Z-ati awọn ipo akopọ (web.dev) "Bi o ṣe le Ṣẹda Ọrọ Iṣakojọpọ Tuntun pẹlu Ohun-ini Ipinya ni CSS", Natalie Pina "Kini The hekki, z-index??", Josh Comeau

Kika siwaju Lori SmashingMag

"Ṣiṣakoso CSS Z-Atọka Ni Awọn iṣẹ-ṣiṣe nla", Steven Frieson "Awọn akọsori alalepo Ati Awọn eroja Giga Kikun: Apapọ Ẹtan", Philip Braunen "Ṣiṣakoso Atọka Z-Ninu Ohun elo Wẹẹbu ti o Da Ẹka", Pavel Pomerantsev “Ohun-ini CSS Atọka Z-: Wiwo Ipari”, Louis Lazaris

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free