forståelse af variable omfang i sass

, forståelse af variable omfang sass,,,,, 121,,,,,,,,, 14,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss., i denne artikel, vi tager en dybere kig på variabler og variable, anvendelsesområde, være næsvis.anvendelsesområdet for en variabel beskriver den sammenhæng, hvori den er defineret   og derfor, hvor det er muligt at anvende.,, til at begynde med, jeg dækker, som der nu støtter.så, jeg vil forklare to nyttige flag, vi kan bruge til at vælge værdien af en variabel.jeg vil kort præsentere de disponible funktioner for at kontrollere, om en variabel eksisterer eller ej, sass variable anvendelsesområde, være næsvis støtter to typer variabler: lokale, variabler og global, variabler.,, som automatisk alle variabler, der er defineret uden for enhver vælgeren anses for globale variabler.det betyder, at de kan benyttes af alle steder i vores stylesheets.for eksempel, her er en global variabel:,, $bg farve: grøn og, på den anden side lokale variabler, er dem, der er angivet i komitéen.senere, vil vi undersøge, hvordan vi kan vælge at opførsel.men, lad os se vores første eksempel.,, vi   definere en mixin og så, btn bg farve varierer inden for det.det er en lokal variable, og derfor er   kun synlige for den kode i den mixin:,, @ mixin knap stil ($btn bg farve: lightblue; farve: $btn bg farve;}, næste, vi kan kalde den mixin som følger:,, knap {@ omfatter knap stil;} den deraf følgende forskning:,, knap (farve: lightblue;}, forestille mig imidlertid, at vi også ønsker at bruge denne variabel (ikke mixin) i et andet vigtigt:,,. pak {baggrund: $btn bg farve;}, vil det give os   følgende fejl:,, ikke defineret variabel: "$btn bg farve.", det var at være   forventede, ikke?vi prøvede at få adgang til en mixin variable, som er lokalt anlagt.bare rolig, som nævnt ovenfor, vi vil løse dette spørgsmål   i en kommende afdeling.,, indlejrede udvælgere, er det værd at nævne, at hvis vi erklærer en variabel i komitéen, andre indlejrede gearvælgeren kan få adgang til det.her er et eksempel:,,. bind (farve: rød, $bg &: efter {baggrund: lette ($bg farve, 10%);}}, den udarbejder til:,,. bind: efter {baggrund:&#ff3333;}, dog, se på eksemplet nedenfor hvis vi definerer en funktion, så brug, der fungerer sammen med en indlejrede vælgeren:,, @ funktion my- function() {$tekst farve: sort @ tilbage $tekst farve;}. bind (farve: my- function(); &: efter {baggrund: $tekst farve;}}, hvis vi forsøger at udarbejdelse af dette, får vi den samme fejl, drøftet før.endnu en gang, det sker, fordi vi ikke kan få adgang til, tekst, farve, variabel.det er ikke direkte som defineret i modervirksomheden vælgeren, men i den funktion, at vores vælgeren opkald.  , variable navne, globale og lokale variabler kan have de samme navne.for at påvise, at adfærd, vil vi arbejde på en fjerde eksempel:,, $tekst farve: tomater; @ mixin knap stil ($tekst farve: kalk, farve: $tekst farve;} @ mixin forbindelse stil ($tekst farve: sort farve: $tekst farve;}, her har vi   defineret tre forskellige variabler (tekst farve) med samme navn.den første er en global variabel, mens de to andre er lokale, her er nogle   stilarter, der gør brug af dem:,, knap {@ omfatter knap stil;} en {@ omfatte forbindelse stil.}. pak {baggrund: $tekst farve;}, og de genererede css:,, knap (farve: kalk.} en (farve: sort}. pak {baggrund: tomater;}, er det, hvad du forventede?,, huske på, at vi ikke vil se disse styles, medmindre vi udarbejde med den nuværende udgave af sass (3.4).for eksempel, hvis vi bruger sass 3.3, vores css produktion ville se sådan ud:,, knap (farve: kalk.} en (farve: sort}. pak {baggrund: sort}, mærke forskellen i baggrunden farve af,. pakker, vælgeren.dette sker, fordi i henhold til de tidligere sass udgaver (samme for libsass), hvis vi lokalt omdefinere værdien af en global variabel (f.eks. tekst farve), vil det være den variable er nye (global) værdi.så, i vores eksempel udarbejdet styles, afhænger af den, for vi erklærer variable og mixins.,,,, misligholdelse, flag, det flag, giver os mulighed for at fastsætte værdien af en variabel, hvis det ikke allerede er blevet sat   eller dets aktuelle værdi er  , nul,   (behandles som ikke - tildelte).for bedre at forklare, hvordan vi kan udnytte det i et scenario, lad os antage, at vi har et projekt med følgende struktur:,, projektnavn /├──...├── css /│ └── app.css └── scss /├── _config.scss ├── _variables.scss ├── _mixins.scss └── app. scss,,, app.scss, fil ser sådan ud:,, @ import "ud" @ import "variabler" @ import "mixins" knap {@ omfatter knap stil;} //mere stil. lad os se indholdet af den delvise filer. for det første, variables.scss, fil indeholder vores variabler:,, $btn bg farve: lightblue!misligholdelse $btn bg farve svæv: darken ($btn bg farve, 5%); //flere variabler, mærke, misligholdelse, flag, der er tildelt, btn bg farve, variable., for det andet, mixins.scss, fil omfatter vores mixins:,, @ mixin knap stil ($bg farve: $btn bg farve, $bg farve svæv: $btn bg farve svæv) {baggrund farve: $bg farve; //mere styles &: den {baggrund farve: $bg farve svævning //mere stilarter) //mere mixins, så de genererede, app.css, sag vil som følger:,, knap (farve: lightblue;} knap: den {baggrund farve:ccfe0;}, så vores knapper, kom med misligholdelse, styles.men lad os antage, at vi ønsker at have mulighed for at træde i stedet for dem ved at anvende vores normale værdier.for at gøre det, vi kan give den ønskede (forvalgt værdi) variabler i, config.scss, delvis fil:,, $btn bg farve: chokolade; //flere variabler, fastsættes værdien af denne variabel, chokolade, vil resultere i, at den tilsvarende værdi (, lightblue,), som har fået, misligholdelse, flag.derfor de genererede css - ændringer, som vi kan se under:,, knap (farve: chokolade;} knap: den {baggrund farve:&#bc5e1b;}, note: i tilfælde af, at vi ikke har tilføjet, at misligholdelse, flag, btn bg farve, variable, vores css ville være,   på grund af den brusende karakter af css,   som følger:,, knap (farve: lightblue;} //svæv styles,,, global,   flag, det andet flag hjælper med til at ændre rækkevidden af en lokal variabel.,, kan du huske den fejl, så vi i vores første eksempel?det, der skete, da vi prøvede at bruge det, btn bg farve, variabel i det. pak, vælgeren.lad os ændre vores eksempel og inddrage denne nye flag.her er den nye stil:,, @ mixin knap stil ($btn bg farve: lightblue!globale; farve: $btn bg farve;} knap {@ omfatter knap stil.}. pak {baggrund: $btn bg farve;}, som du kan se, takket være dette flag, css udarbejder uden fejl:,, knap (farve: lightblue;}. pak {baggrund: lightblue;), global,   flag er nyttige, men husk, at  , det er ikke altid god praksis til at ændre en variabel rækkevidde.  ,, kontrol, hvis en   variable eksisterer, nu giver to selvransagelse   funktioner for at afprøve, om en variabel eksisterer eller ej.vi kan bruge den, variable eksisterer, og /eller globale variable eksisterer, funktioner, for at kontrollere, om vores lokale og /eller globale variabler findes   hhv., f.eks. her er en fælles sag, hvor   vi definerer en variabel, der indeholder den absolutte vej til en   google skrifttype.   så vælger vi at import skrifttype i vores stylesheets, men kun hvis de relevante variable blevet instantierede. $google skrifttype: "http://fonts.googleapis.com/css?familie = alegreya "@ hvis (global variable findes (google skrifttype) {@ import url ($google skrifttype)}, er resultatet:,, @ import url (" http://fonts.googleapis.com/css?familie = alegreya ");,, konklusion, i denne artikel, jeg præsenterede dig for begrebet variabel rækkevidde i sass.for at gøre tingene klarere, så vi på   forskellige eksempler, så vi håber, du har en god forståelse af, hvordan   anvendelsesområde fungerer.du kan finde   alle eksempler på   denne artikel i dette sassmeister resumé   og føle sig fri til at stille de spørgsmål, de måtte have i bemærkningerne.



Previous:
Next Page: