Xa ufunda imigaqo ye-CSS esisiseko, umntu ufundiswa ukubhala iimodyuli, ezisebenzisekayo, kunye nezimbo ezichazayo zokuqinisekisa ukugcinwa. Kodwa xa abaphuhlisi bebandakanyeka kusetyenziso lwehlabathi lokwenyani, kuhlala kuvakala kungenakwenzeka ukongeza iimpawu ze-UI ngaphandle kwezitayile ezivuza kwiindawo ezingacetywanga. Lo mbandela udla ngokuba yi-snowball ibe yi-self-fulfilling loop; Izitayile ezithiyori zijonge into enye okanye udidi ziqala ukuvela apho zingekhoyo. Oku kunyanzela umphuhlisi ukuba enze abakhethi abathile ukuba bagqithise izitayile ezivuzayo, ezithi emva koko zibeke ngaphezulu ngempazamo izitayile zehlabathi, njalo njalo. Iingqungquthela zamagama eklasi eziqinileyo, ezifana ne-BEM, zisisombululo sethiyori kulo mba. Indlela ye-BEM (iBlock, i-Element, i-Modifier) ​​yindlela ecwangcisiweyo yokubiza iiklasi ze-CSS ukuqinisekisa ukusetyenziswa kwakhona kunye nokwakheka ngaphakathi kweefayile ze-CSS. Ukuqamba amagama afana nalokhu kunokunciphisa umthwalo wokuqonda ngokusetyenziswa kolwimi lwesizinda ukuchaza izinto kunye nesimo sazo, kwaye ukuba ziphunyezwe ngokuchanekileyo, zingenza izitayela zezicelo ezinkulu zibe lula ukuzigcina. Kwihlabathi lokwenyani, nangona kunjalo, ayisoloko isebenza njalo. Izinto eziphambili zinokutshintsha, kwaye ngotshintsho, ukuphunyezwa akuhambelani. Utshintsho oluncinci kulwakhiwo lwe-HTML lunokufuna uhlaziyo lwamagama amaninzi eklasi yeCSS. Ngezicelo ezisebenzisanayo eziphambili, amagama eeklasi alandela ipateni ye-BEM anokuba made kwaye angabikho (umzekelo, i-app-user-overview__status-is-authenticating), kwaye ukungahambelani ngokupheleleyo nemigaqo yokubiza kwaphula isakhiwo senkqubo, ngaloo ndlela igatya izibonelelo zayo. Ngenxa yolu celomngeni, akumangalisi ukuba abaphuhlisi bajike kwisakhelo, i-Tailwind yeyona nkqubo idumileyo yeCSS. Kunokuba uzame ukulwa into ebonakala ngathi yimfazwe ethile engaphumeleliyo phakathi kwezitayile, kulula ukuyincama kwiCSS Cascade kwaye usebenzise izixhobo eziqinisekisa ukuba wedwa ngokupheleleyo. Abaphuhlisi bathembele ngakumbi kwii-Utility Sazi njani ukuba abanye abaphuhlisi bazimisele ukunqanda izitayile ze-cascade? Kukunyuka kwezixhobo "zangoku" zangaphambili - njengezicwangciso ze-CSS-in-JS - ezenzelwe ngokukodwa loo njongo. Ukusebenza ngezitayile ezizimeleyo ezibekwe ngokuqinileyo kumacandelo athile kunokubonakala ngathi ngumoya omtsha. Isusa imfuno yokubiza izinto - isengomnye weyona misebenzi ithiyelweyo kwaye ithatha ixesha eliphambili - kwaye ivumela abaphuhlisi ukuba babe nemveliso ngaphandle kokuqonda ngokupheleleyo okanye ukuxhamla izibonelelo zelifa leCSS. Kodwa ukuyeka i-CSS Cascade iza neengxaki zayo. Umzekelo, ukuqamba izitayile kwiJavaScript kufuna uqwalaselo lolwakhiwo olunzima kwaye kaninzi lukhokelela kwizitayile ezidityaniswayo kunye nophawu lwecandelo okanye iHTML. Endaweni yokuba siqwalaselwe ngononophelo izivumelwano zokuthiya amagama, sivumela izixhobo zokwakha ukuba zizenzele thina abakhethi kunye nezichongi (umzekelo, .jsx-3130221066), ifuna abaphuhlisi bahambelane nolunye ulwimi lobuxoki ngaphakathi kwaye ngokwalo. (Ngokungathi umthwalo wokuqonda wokuqonda ukuba yintoni yonke into eyenziwa licandelo lakhoIziphumo bezingonelanga!) Ukukhuphela ngakumbi umsebenzi othiya iiklasi kwisixhobo kuthetha ukuba ukulungisa iimpazamo kukholisa ukunyanzelwa kwiinguqulelo zesicelo ezithile ezidityaniselwe uphuhliso, kunokuba kusetyenziswe iimpawu zesikhangeli semveli ezixhasa ukulungisa ingxaki, njengeZixhobo zoMphuhlisi. Kuphantse kube ngathi kufuneka siphuhlise izixhobo zokulungisa izixhobo esizisebenzisayo ukukhupha into esele inikezelwe yiwebhu - konke ngenxa yokubaleka "iintlungu" zokubhala iCSS eqhelekileyo. Ngethamsanqa, iimpawu zale mihla ze-CSS azenzi nje ukubhala kwe-CSS esemgangathweni kube bhetyebhetye ngakumbi kodwa zinika abaphuhlisi abafana nathi amandla amakhulu okulawula i-cascade kwaye bayenze isisebenzele. I-CSS Cascade Layers ngumzekelo omhle, kodwa kukho enye into efumana ukunqongophala okumangalisayo kwengqalelo - nangona oko kuyatshintsha ngoku kuba kutshanje kuhambelana neBaseline. I-CSS @scope kuMthetho Ndithatha i-CSS @scope kumthetho njengonyango olunokubakho kuhlobo lwesitayile-oluvuzayo-lunxunguphalo esilugubungeleyo, olungasinyanzeliyo ukuba sibeke esichengeni izibonelelo zewebhu zendalo zokuthatha izinto kunye nezixhobo ezongezelelweyo zokwakha. "I-@scope CSS at-rule ikuvumela ukuba ukhethe izinto kwii-subtrees ezithile ze-DOM, ujolise kwizinto ngokuchanekileyo ngaphandle kokubhala abakhethi abakhethekileyo ekunzima ukuyibhala ngaphezulu, kwaye ngaphandle kokudibanisa abakhethi bakho ngokuqinileyo kwisakhiwo seDOM." - MDN

Ngamanye amazwi, sinokusebenza ngezitayile ezizimeleyo kwiimeko ezithile ngaphandle kokuncama ilifa, i-cascading, okanye ukwahlula okusisiseko kweenkxalabo.oko kube ngumgaqo okhokelayo ixesha elide wophuhliso lwangaphambili. Ukongeza, inokufikelela kwibrowser ebalaseleyo. Ngapha koko, iFirefox 146 yongeze inkxaso ye-@scope ngoDisemba, iyenza iBaseline ihambelane okokuqala. Nalu uthelekiso olulula phakathi kweqhosha usebenzisa ipateni yeBEM ngokuchasene nomthetho we-@scope: Cofa kum

.iqhosha .iqhosha__ okubhaliweyo {/* izimbo zokubhaliweyo iqhosha */ } .iqhosha .iqhosha__umfanekiso {/* izimbo zomfanekiso weqhosha */} .iqhosha--eliphambili { izimbo zamaqhosha angundoqo */ }

Cofa kum

@scope (.iqhosha-elingundoqo) { ixesha:umntwana wokuqala {/* izimbo zokubhaliweyo zeqhosha */ } span:umntwana wokugqibela {/* izimbo ze icon yeqhosha */} }

Umgaqo we-@scope uvumela ukuchaneka kunye nobunzima obuncinci. Umphuhlisi akasekho mfuneko yokuba enze imida esebenzisa amagama eklasi, nto leyo evumela ukuba babhale abakhethi basekwe kwizinto zomthonyama zeHTML, ngaloo ndlela besusa imfuneko yeepatheni zamagama eklasi yeCSS. Ngokususa nje imfuno yolawulo lwamagama eklasi, @scope inokunciphisa uloyiko oluhambelana neCSS kwiiprojekthi ezinkulu. Usetyenziso olusisiseko Ukuqalisa, yongeza umthetho we-@scope kwi-CSS yakho kwaye ufake umkhethi weengcambu apho izimbo ziya kujongwa: @scope () { /* Izimbo zifike ku */ }

Ngoko, umzekelo, ukuba besiza kujonga izimbo kwi

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