Esasy CSS ýörelgelerini öwreneniňde, durnuklylygy üpjün etmek üçin modully, gaýtadan ulanylýan we suratlandyryjy stilleri ýazmak öwredilýär. Developöne işläp düzüjiler hakyky dünýä programmalary bilen meşgullananda, köplenç garaşylmadyk ýerlere stil syzmazdan UI aýratynlyklaryny goşmak mümkin däl ýaly duýulýar. Bu mesele köplenç gar toplaryny öz-özüni ýerine ýetirýän halka öwürýär; teoretiki taýdan bir elemente ýa-da synpa degişli stil, degişli bolmadyk ýerlerini görkezip başlaýar. Bu, döredijini syzdyrylan stilleri ýok etmek üçin has anyk saýlaýjylary döretmäge mejbur edýär, soň bolsa tötänleýin global stilleri ýok edýär we ş.m. BEM ýaly berk synp ady konwensiýalary bu meseläniň teoretiki çözgüdi. BEM (Blok, element, üýtgediji) usulyýeti, CSS faýllarynyň içinde gaýtadan ulanylmagyny we gurluşyny üpjün etmek üçin CSS synplaryny atlandyrmagyň yzygiderli usulydyr. Şunuň ýaly konwensiýalara at dakmak, elementleri we olaryň ýagdaýyny suratlandyrmak üçin domen dilini ulanyp, aň-bilim ýüküni azaldyp biler we dogry ýerine ýetirilse, uly programmalar üçin stilleri saklamagy aňsatlaşdyryp biler. Hakyky dünýäde bolsa, hemişe beýle işlemeýär. Ileri tutulýan ugurlar üýtgäp biler we üýtgemeler bilen durmuşa geçirmek biri-birine gabat gelmeýär. HTML gurluşyna ownuk üýtgeşmeler köp CSS synp adynyň täzeden seredilmegini talap edip biler. Örän ýokary interaktiw öňdäki programmalar bilen, BEM nagyşyna eýerýän synp atlary uzyn we çylşyrymly bolup biler (meselem, programma-ulanyjy-syn__status - tassyklaýjy) we at dakmak düzgünlerine doly boýun egmezlik ulgamyň gurluşyny bozýar we şeýlelik bilen onuň peýdalaryny ýitirýär. Bu kynçylyklary göz öňünde tutup, işläp düzüjileriň iň meşhur CSS çarçuwasy bolan Tailwind-iň çarçuwalara ýüz tutandyklary geň däldir. Stilleriň arasynda ýeňip bolmajak aýratynlyk söweşi ýaly göreşmäge synanyşmagyň ýerine, CSS Kaskadyndan ýüz öwürmek we doly izolýasiýa kepillendirýän gurallary ulanmak has aňsat. Döredijiler kommunal hyzmatlara has köp bil baglaýarlar Käbir işläp düzüjileriň kaskad görnüşlerinden gaça durmak isleýändigini nädip bilýäris? Bu maksat üçin ýörite döredilen “CSS-in-JS” çarçuwalary ýaly “häzirki zaman” öňdäki gurallaryň ösmegi. Aýry-aýry komponentlere berk ýapylan aýratyn görnüşler bilen işlemek, arassa howadan dem alýan ýaly bolup biler. Bir zadyň adyny aýtmak zerurlygyny aradan aýyrýar - henizem iň ýigrenilýän we köp wagt talap edýän öňdäki meseleleriň biri - we döredijilere CSS mirasynyň artykmaçlyklaryna doly düşünmezden ýa-da peýdalanmazdan öndürijilikli bolmaga mümkinçilik berýär. Emma CSS Kaskadyny gazmak öz problemalary bilen ýüze çykýar. Mysal üçin, JavaScript-de stil düzmek agyr gurluş konfigurasiýalaryny talap edýär we köplenç komponent belligi ýa-da HTML bilen stilleriň oňaýsyz birleşmegine sebäp bolýar. Ady bellemek konwensiýalaryna üns bilen garamagyň ýerine, saýlaýjylary we kesgitleýjileri (meselem, .jsx-3130221066) awtomatiki usulda gurmak üçin gurallary gurmaga mümkinçilik berýäris, bu bolsa işläp düzüjilerden başga bir pseudo dilini dowam etdirmegini talap edýär. (Komponentiňiziň ulanýan effektleriniň nämedigine düşünmek üçin aň-düşünje ýükleri eýýäm ýeterlik däl ýaly!) Mundan başga-da, synplara gurallary atlandyrmak işini abstrakt etmek, düzüjiniň gurallary ýaly janly düzedişleri goldaýan ýerli brauzer aýratynlyklaryny ulanman, köplenç ösüş üçin düzülen ýörite programma wersiýalarynda çäklendirilendigini aňladýar. Webiň eýýäm hödürleýän zatlaryny abstrakt etmek üçin ulanýan gurallarymyzy düzetmek üçin gurallary işläp düzmeli diýen ýaly - bularyň hemmesi standart CSS ýazmagyň “agyrysyndan” gaçmak üçin. Bagtymyza, häzirki zaman CSS aýratynlyklary diňe bir ýazuw standart CSS-ni has çeýe etmek bilen çäklenmän, biziň ýaly döredijilere kaskady dolandyrmak we ony işlemek üçin has köp güýç berýär. CSS Kaskad gatlaklary ajaýyp mysal, ýöne geň galdyryjy ünsi ýetmezçilik edýän başga bir aýratynlyk bar - häzirki wagtda “Baseline” gabat gelýänligi sebäpli üýtgeýär. CSS @ skop düzgüni Düzgüne görä CSS @scope, abstraksiýalar we goşmaça gurluşyk gurallary üçin ýerli web artykmaçlyklaryny bozmaga mejbur etmeýän, syzdyrylan aladalar sebäpli ýüze çykýan aladanyň bejergisi bolup biler. "Düzgüne görä @scope CSS, belli bir DOM subtree elementlerini saýlamaga mümkinçilik berýär, elementleri takyk kesgitlemek gaty kyn bolan saýlaýjylary ýazmazdan we saýlaýjylaryňyzy DOM gurluşyna gaty berk birikdirmezden." - MDN

Başga sözler bilen aýdanymyzda, aýratyn ýagdaýlarda mirasy, kaskady ýa-da aladalaryň esasy bölünişigini pida etmezden aýratyn usullar bilen işläp bileris.öňden gelýän ösüşiň uzak wagtlap alyp barýan ýörelgesi. Mundan başga-da, ajaýyp brauzer gurşawy bar. Aslynda, Firefox 146 dekabr aýynda @scope üçin goldaw goşdy we ilkinji gezek Baseline laýyk gelýär. Ine, @scope düzgünine garşy BEM nagşyny ulanýan düwmäniň arasynda ýönekeý deňeşdirme: Maňa basyň

Meni basyň

@Scope düzgüni has çylşyrymlylygy bilen takyklygy üpjün edýär. Öndüriji indi synp atlaryny ulanyp serhetleri döretmeli däl, bu bolsa öz gezeginde ýerli HTML elementlerine esaslanýan saýlaýjylary ýazmaga mümkinçilik berýär we şeýlelik bilen CSS synp adynyň nusgalarynyň zerurlygyny aradan aýyrýar. Diňe synp adyny dolandyrmagyň zerurlygyny aýyrmak bilen, @scope uly taslamalarda CSS bilen baglanyşykly gorkyny azaldyp biler. Esasy ulanylyşy Başlamak üçin CSS-ä @scope düzgünini goşuň we haýsy stiliň ulanyljakdygyny kök saýlaýjyny goşuň: @scope () { / * Stiller * / }

Şeýlelikde, mysal üçin, stilleri

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