Implementeringen av designlayouten är omöjlig utan användning av HTML och CSS. Om markeringsspråket tillåter oss att skissa en mall från de nödvändiga elementen, omvandlar CSS denna mall till önskad form, som i källan. Det verkar som om du med hjälp av ren CSS kan göra sidan så som kunden ville se den.
Men om någon öppnar din enda CSS -fil och försöker justera något, är du säker på att koden kommer att vara läsbar, redigerbar, strukturerad och begriplig? Om ditt projekt är stort, består av många delar, är du säker på att du enkelt kan stödja det i framtiden? Om du använder en CSS -förbehandlare är svaret ja, och dessutom är detta sättet att automatisera layouten på webbplatser. Varför? Vi får reda på det nu.
Vad är en CSS -förbehandlare?
Enligt min förståelse är detta ett tillägg över standard CSS som utökar standardfunktionerna, lägger till lite funktionalitet och låter dig skriva mer läsbar och lättförståelig kod. Vid utmatningen sammanställs källkoden i den CSS vi är vana vid. Användningen av ett sådant verktyg i modern utveckling är ett "måste", och jag råder varje layoutdesigner eller utvecklare att bekanta sig med det. Det bör tilläggas att det finns mycket att välja mellan, eftersom det finns en hel del CSS -förbehandlare, men de mest populära bör lyftas fram:
Nål
Alla ovanstående förbehandlare har nästan identisk funktionalitet, det finns bara mindre skillnader i syntax. Nu, tillbaka till den tidigare frågan: vilka fördelar ger förbehandlare för att göra vår kod mer bekväm och underhållbar? Detta är först och främst häckande. Denna funktion ger oss möjligheten att strukturera element, enkelt hitta föräldern till ett element, snabbt skriva pseudoklasser och pseudo-element och till och med använda BEM! Till exempel: .Spår färg: #fff & __ titel paddding: 10px &: sväva, &: fokusera färgen blå
Ta en titt på denna kod kod skriven i Sass. Allt detta konverteras till följande CSS:
Kortfattad, bekväm, begriplig, förälder-till-barn-struktur är bra, eller hur? Den andra, och inte mindre viktiga, fördelen är variabler. Principen för deras funktion är extremt enkel: namnet på en variabel börjar med $ -symbolen och sedan själva namnet. Vi skriver värdet åtskilt av ett kolon - det kan vara en färg i vilken lämplig form som helst, indragningsvärden, bredd, teckensnittsstorlek och så vidare. Som ett resultat får vi något så här:
$ btn-färg: blå; $ font-main-size: 16px;
Och användningen kommer att se ut så här:
Blockera ( font-size: $ font-main-size; }
Tänk bara hur bekvämt det är. Om du behöver ändra färgen på knapparna på hela webbplatsen behöver du bara göra det på ett ställe! Tja, låt oss gå vidare. Den tredje och största CSS -förbehandlaren kan erbjuda oss är användningen av mixins. Enligt vår vanliga förståelse är mixins funktioner som kan användas flera gånger utan att upprepa samma delar av koden (kom ihåg en av programmeringsprinciperna - DRY - Don't repeat yourself). För att vara ärlig använder jag inte mixins så ofta, tydligen fanns det inget så brådskande behov, men jag kommer ändå att visa några exempel. En av de funktioner jag använder mest är följande:
Ja, som du förstår är detta bara en konvertering av teckensnittsstorleken från PX till Em (länge lever de dagar då de för sådana bagateller brukade använda specialtjänster eller räknade sig på en miniräknare). Följande exempel sparar också mycket tid:
Det finns många fler exempel, men det är värt att börja använda mixins själv för att förstå hur användbart detta verktyg är. Det finns kanske ytterligare en anledning kvar som får dig att älska CSS -förbehandlare, och dess namn är modularitet. Det är 2018 och modularitet finns överallt - från HTML -mallmotorer till olika css -ramverk och projektbyggare.
Processen med att skriva HTML och CSS kan vara lite ansträngande och kräver många av samma uppgifter om och om igen. Uppgifter som att stänga taggar i HTML eller monotont visning av hexadecimala färgvärden i CSS.
Dessa olika uppgifter är som regel små och minskar effektiviteten något. Lyckligtvis har dessa och några andra ineffektiva uppgifter erkänts och utmanats av förbehandlare.
En förbehandlare är ett program som tar en datatyp och konverterar den till en annan datatyp. När det gäller HTML och CSS är några av de mer populära förbehandlingsspråken Haml och Sass. Haml konverteras till HTML och Sass konverteras till CSS.
Sedan starten, medan de löste några av de vanligaste problemen, har Haml och Sass hittat många ytterligare sätt att utöka möjligheterna med HTML och CSS. Inte bara genom att ta bort ineffektiva uppgifter, utan också genom att skapa tekniker som gör webbplatsutveckling enklare och mer logisk. Populariteten hos förbehandlare har också åstadkommits av de olika ramarna som stöder dem; en av de mest populära är Kompass.
Haml
CodeKit stöder också andra förbehandlare som du också kan tycka är användbara.
Doktyp
Den första delen av att skriva ett Haml -dokument är att veta vilken typ av doktyp som ska användas. När du arbetar med HTML -dokument är huvudtypen HTML5. I Haml identifieras dokumenttyper med tre utropstecken (!!!), följt av något specifikt om det behövs.
Hamls standarddoktyp är HTML 1.0 Transitional. Därför, för att göra det som HTML5, måste du passera siffran fem efter utropstecknen (!!! 5).
Redo HTML
Deklarerande element
En av de definierande funktionerna hos Haml är dess syntax och hur man deklarerar och häckar element. HTML -element innehåller vanligtvis start- och sluttaggar, men Haml -element har bara en starttagg. Objekt börjar med ett procenttecken (%) och sedan indrag definierar häckning. Du kan indraga i Haml med ett eller flera mellanslag, men det är viktigt att indragningen förblir densamma. Flikar och mellanslag kan inte kombineras med varandra och samma antal flikar eller mellanslag måste vara desamma i hela dokumentet.
Att eliminera behovet av start- och sluttaggar och den obligatoriska indragna strukturen skapar ett schema som är lätt att följa. När som helst kan markeringen skummas och ändras utan svårighet.
% body% header% h1 Hej världen! % sektion% p Lorem ipsum dolor sit amet.
Kompilerad HTML
Hej världen!
Lorem ipsum dolor sit amet.
Ordbehandling
Haml -text kan placeras på samma rad som det deklarerade elementet eller indragas under elementet. Texten kan inte vara samtidigt på samma rad som det deklarerade elementet och kapslad under den; det måste finnas antingen det ena eller det andra alternativet. Ovanstående exempel kan skrivas om enligt följande:
% body% header% h1 Hej världen! % sektion% p Lorem ipsum dolor sit amet.
Attribut
Attribut, liksom element, deklareras något annorlunda i Haml. Attribut deklareras omedelbart efter elementet, i lockiga hängslen eller parentes, beroende på om du vill använda Ruby eller HTML -syntax. Ruby-style attribut använder standard hash syntax inuti (), medan HTML-style attribut använder standard HTML syntax inuti ().
Klasser och identifierare kan deklareras som andra attribut om så önskas, men de kan också hanteras något annorlunda. I stället för att ange klass- och id -attributen med sina värden inom parentes kan värdet anges direkt efter elementet. Genom att använda antingen en punkt för klasser eller hash för en identifierare kan värdet läggas till omedelbart efter elementet.
Dessutom kan attribut blandas genom att sammanfoga varandra i lämpligt format. Klasser måste separeras med punkter, och andra attribut kan läggas till med ett av de tidigare skisserade formaten.
En av fördelarna med Haml är möjligheten att beräkna och köra Ruby, men detta är inte alltid den önskade åtgärden. Text och kodrader kan undvikas med ett snedstreck (\), vilket gör att texten kan visas uttryckligen utan körning.
I exemplet nedan utförs det första = @author -exemplet av Ruby och får författarens namn från programmet. Det andra mönstret börjar med att ett snedstreck slipper texten och skrivs ut utan att det utförs.
Författare = @författare \ = @författare
Kompilerad HTML
Shay Howe = @författare
Alternativ till att komma undan text
Ibland räcker det inte med att undkomma text och Ruby behövs för att generera önskad utmatning. Ett populärt exempel på detta är att försöka inkludera en period omedelbart efter en länk, men inte som en del av länktexten. Att placera en prick på en ny rad är inte acceptabelt eftersom det kommer att behandlas som ett tomt klassvärde, vilket orsakar ett kompileringsfel. Om du lägger till ett snedstreck framför punkt undgår karaktären, men lägger ett mellanslag mellan det sista ordet och punkten. Återigen, inte ger önskat resultat.
I dessa fall kommer Ruby -hjälpen till nytta. I exemplet nedan används hjälpen för att placera en punkt direkt efter det sista ordet, men utanför länktexten.
% p Shay - = lyckas "." gör% a (: href => "#") bra gjort
Liksom element och attribut hanteras kommentarer något annorlunda i Haml. Koden kan kommenteras helt enkelt med ett enda snedstreck (/). Enskilda rader kan kommenteras med ett snedstreck i början av en rad, och kodblock kan kommenteras genom att vara kapslade nedanför snedstrecket.
% div / Kommentarrad Faktisk rad /% div Kommenterat block
Kompilerad HTML
Faktisk linje
Villkorade kommentarer
Villkorade kommentarer hanteras också annorlunda i Haml. Om du vill skapa en villkorlig kommentar använder du hakparenteser () runt villkoret. Dessa hakparenteser måste placeras omedelbart efter snedstrecket.
/% script (: src => "html5shiv.js")
Kompilerad HTML
Tyst kommentarer
Haml ger också möjlighet att skapa anpassade tysta kommentarer. Tyst kommentarer skiljer sig från grundläggande HTML -kommentarer genom att allt innehåll i en tyst kommentar efter sammanställningen tas bort helt från den sidan och visas inte i resultaten. Lugna kommentarer börjar med en bindestreck, följt av ett hashmarkering (- #). Som med andra kommentarer kan tysta kommentarer användas för att radera en eller flera rader genom häckning.
% div - # Raderad rad Faktisk rad
Kompilerad HTML
Faktisk linje
Filter
Haml erbjuder flera filter för att möjliggöra olika typer av input inom Haml. Filter börjar med ett kolon följt av namnet på filtret, till exempel: markdown, med allt innehåll för att filtrera bilagan nedanför.
Vanliga filter
Nedan finns några vanliga filter, inklusive den mest populära gruppen: css och: javascript.
Som nämnts tidigare kan Haml utvärdera Ruby, och ibland kan det finnas fall där Ruby måste utvärdera inom vanlig text. I detta fall måste Ruby interpoleras genom att packa in den obligatoriska Ruby -koden.
Nedan följer ett Ruby -exempel som interpolerar som en del av ett klassnamn.
% div (: class => "student - # (@ student.name)")
Kompilerad HTML
SCSS och Sass
SCSS och Sass är förbehandlingsspråk som kompileras till CSS. De är lite som Haml och gör kodning enklare genom att erbjuda väldigt lite hävstångseffekt. Separat har SCSS och Sass samma ursprung, men tekniskt sett har de olika syntax.
För korthetens skull var Haml och Sass de enda förbehandlare som omfattas av denna handledning. De valdes också eftersom de är byggda med Ruby och passar direkt i Ruby on Rails -applikationer. De fick också enormt samhällsstöd.
När det gäller att välja vilken förbehandlare som ska användas är det viktigt att överväga vilken som är bäst för ditt team och projekt. Projekt inbyggda i Node.js kan förmodligen ha större nytta av Jade och Stylus. Den viktigaste aspekten att tänka på är dock vad ditt team är van vid att använda. Gör din forskning för varje projekt och välj det mest informerade beslutet.
Resurser och länkar
Haml - HTML Abstraction Markup Language
Sass - Syntaktiskt fantastiska stilark
Sass Playground på SassMeister
Och när kommer dessa utvecklare äntligen att lugna ner sig och sluta mobba nybörjare!? Jag hann inte räkna ut det med CSS, och de säger till mig: "Alla riktiga layoutdesigners har redan bytt till förbehandlare under lång tid. Tja, vad en ren CSS på kvällen 2020!? "Vad ska jag göra?
För det första slutar utvecklare aldrig komma med ny teknik. Och professionella layoutdesigners är dem mycket tacksamma för det. Stilarkets språk CSS, uppfanns vid en tidpunkt då platser var primitiva. Men åren gick, sajterna blev mer komplexa och massiva, men layoutmetoderna förblev desamma. Layoutdesignerna tröttnade på att skriva liknande kodavsnitt. Det var omöjligt att snabbt ändra färgen på webbplatsen. Det fanns ett behov av mer automatisering av layout, och så var det CSS -förbehandlare koda. Och idag ska vi prata om en av dem, MINDRE förbehandlare.
Kompilerar LESS- och VS -kod
Allt du behöver sammanställa MINDRE kod är en kodredigerare VS -kod och expansion Lätt Mindre... Hur det fungerar?
Skapa en stilfil med tillägget .mindre
Efter sparandet genereras det automatiskt .css filen till samma mapp.
Varje gång du sparar ändringar, MINDRE filer sammanställs till CSS filer. Webbläsare har inte lärt sig förstå ännu MINDRE, de behöver CSS koda.
MINDRE variabler
Vi flyttar de mest använda egenskaperna till variabler. Webbplatsen använder vanligtvis upprepade färger och teckensnittsfamiljer. Vi lägger alla färger i variabler och sedan ersätter vi inte regelkoden utan variabeln i regeln. Du frågar: "Vad är fångsten? Jag behöver fortfarande förskriva något, vad är skillnaden?"
Huvudfunktionen är en snabb färgbyte. Färgen ändras bara en gång, i en variabel. Att byta ut färgen i en variabel kommer att ersätta färgen på alla sidor på webbplatsen. Bara detta chip är tillräckligt för att börja använda MINDRE... Vi förklarar variabler i MINDRE och spara de värden vi behöver i dem, vi ger namnen på variablerna meningsfulla.
Nu skriver vi den vanliga koden, som vi gjorde i CSS, men istället för värden ersätter vi variabler.
MINDRE
div ( vaddering: 0;
svart färg;
}
Efter att ha sparat, kompileras CSS koda. Vi rör inte alls CSS fil, allt arbete utförs i MINDRE fil. Du kan lagra alla ofta upprepade egenskaper i variabler.
Mixins användbart för att återanvända en uppsättning egenskaper - ramar, knappar, rubriker. En grupp av egenskaper som kan tillämpas på olika väljare.
Webbplatsen har flera knappar av samma typ av olika färger, men med samma typsnittsegenskaper. Låt oss skapa en mixin som hjälper till att automatisera processen med att skapa knappar.
Denna artikel avslöjar inte ens 25% av alla möjligheter som den erbjuder MINDRE... Och detta är inte nödvändigt, syftet med artikeln är att motivera nybörjare att börja använda förbehandlare. Börjar med det enklaste, gradvis övergår till det mer komplexa.
NetTuts + artikel skriven av Johnathan Croom 2012.
Huvudmålet med denna artikel är att visa fördelarna med att använda någon av de tre förberedarna Sass, LESS och Stylus som beskrivs i den. Denna recension är perfekt för nybörjare som just upptäcker denna aspekt av webbdesign.
I den här artikeln kommer vi att titta på fördelarna och fördelarna med att använda tre olika förbehandlare - Sass, LESS och Stylus.
Introduktion
CSS-förbehandlare skapades med det enda syftet att lägga till kraft och flexibilitet i CSS-formatmallar utan att bryta webbläsarfunktioner. Alla förbehandlare sammanställer koden som genereras med sin syntax till standard CSS -kod som kan förstås och användas av alla webbläsare, oavsett hur gammal den är ( webbläsare) var inte.
Det finns många fördelar som förbehandlare ger CSS-formatmallar, och i den här artikeln kommer vi att täcka bara några av dem, både välkända och inte allmänt använda. Låt oss gå ner till översikten.
Syntax
Den viktigaste delen när du skriver kod i en CSS -förbehandlare är dess syntax. Lyckligtvis för oss är syntaxen för alla tre förbehandlare vi ska titta på CSS-liknande.
Sass & mindre
Både Sass och MINDRE förbehandlare har standard CSS -syntax. Detta gör uppgiften att konvertera befintlig CSS-kod till syntaxen för någon av dessa förbehandlare enkel och snabb. Sass använder tillägget för sina filer.
1
.scss
, MINDRE - förlängning
1
.mindre
.
En typisk fil i Sass- eller LESS -syntax visas nedan:
Du kan tydligt se att detta är normal CSS -syntax som konverteras perfekt till Sass (SCSS) eller LESS.
Det är viktigt att notera att Sass (SCSS) också har en äldre version av Sass -syntax som utelämnar semikolon och lockiga hängslen.
Även om denna syntax fortfarande kan användas i praktiken, är den utfasad och vi kommer inte att använda den i våra exempel.
Sass -syntax ( gammal version) som följer:
/ * style.sass * / h1 färg: 0982c1
Nål
För sina filer använder denna förbehandlare tillägget
1
.styl
... Stylus preprocessorsyntax är mer utförlig ( cirka. översättare: författaren förstörde något här), använder den standard CSS -syntax som grund, men tillåter olika kombinationer av parenteser, kolon och semikolon.
Alla syntaxer som visas ovan är giltiga och kommer att kompileras till rätt CSS. Till exempel kommer denna kod att kompileras till standard CSS utan fel:
h1 (färg # 0982c1) h2 teckensnittstorlek: 1 .2em
Variabler
I förprocessorer deklareras och används variabler i CSS -stilfiler. Variabler kan ta vilket värde som helst som är tillåtet i CSS (färg, nummer eller text) och kan refereras var som helst i CSS -dokumentet.
Sass
I Sass -förbehandlaren deklareras en variabel med symbolen
1
$
, medan variabelns namn och dess värde separeras från varandra med ett kolon, som det görs i CSS: $ mainColor: # 0982c1; $ siteWidth: 1024px; $ borderStyle: prickad; body (färg: $ mainColor; border: 1px $ borderStyle $ mainColor; maxbredd: $ siteWidth;)
MINDRE
Variabler i LESS är exakt samma som i Sass, förutom att symbolen är placerad framför variabelnamnet
Var och en av filerna som presenteras som ett exempel kompilerar till exakt samma CSS -kod. Du kan använda din fantasi för att föreställa dig hur användbara variabler kan vara.
Tack vare dem behöver du inte ange ett färgvärde och sedan upprepa det tjugo gånger i CSS -koden. Eller så är uppgiften inställd på att ändra bredden på webbplatsen och för detta är det nödvändigt att "söka" koden på jakt efter detta värde.
Om din CSS -kod har till uppgift att samtidigt referera till flera element som har samma förälder, är det en tråkig uppgift att skriva den här föräldern om och om igen.
Till exempel så här:
I stället kan vi med hjälp av förprocessorn placera alla barnväljare inom parenteser på förälderelementet. Dessutom symbolen
1
&
är en länk ( minskning) på huvudelementväljaren.
Sass, LESS & Stylus
Alla tre förbehandlare har exakt samma syntax för kapslade väljare:
avsnitt (marginal: 10px; nav (höjd: 25px; a (färg: # 0982C1; &: sväva (text-dekoration: understruken;))))
Kompilerad CSS
Nedan visas den sammanställda CSS -utdata från ovanstående kod. Jämför med koden som vi skrev i början - exakt samma sak. Men vilken bekvämlighet det är att dra nytta av förbehandlaren!
sektion (marginal: 10px;) sektionsnav (höjd: 25px;) sektion nav a (färg: # 0982C1;) sektion nav a: sväva (text-dekoration: understruken;)
Mixins
1
mixiner
är funktioner som gör att grupperade egenskaper kan återanvändas inom CSS -kod. Istället för att gå igenom hela koden för att leta efter raderna du behöver för att ändra dem, kan du nu göra ändringar bara en gång, inne i mixen.
Blandning är särskilt användbart när du skapar specifika stilar för element eller vid prefix med webbläsarprefix. När ett mixin kallas inuti en CSS -väljare, känns argumenten för det mixinet igen, sedan tillämpas dess stilar på väljaren som kallade det.
Cirka. översättare: i exemplen nedan bör du vara uppmärksam på skillnaden i syntaxen för att deklarera och ringa mixin inuti CSS -väljaren för alla tre förbehandlare.
Sass
/ * Sass mixin kallas fel med $ borderWidth -argument, som standard är 2px * /@mixin-fel ($ borderWidth: 2px) (border: $ borderWidth solid # F00; color: # F00;) .generic-error (padding: 20px; margin: 4px; @include error ();) .login-error (vänster : 12px; position: absolut; top: 20px; @include error (5px);)
MINDRE
/ * MINDRE mixin kallas fel med $ borderWidth -argument, som standard är 2px * /.error (@borderWidth: 2px) (border: @ borderWidth solid # F00; color: # F00;) .generic-error (padding: 20px; margin: 4px; .error (); / * Anslut ett mixin med namnet fel * /) .login-fel (vänster: 12px; position: absolut; topp: 20px; .error (5px); / * Anslut en mixin som kallas fel med ett $ borderWidth -argument på 5px; det vill säga argumentets värde åsidosätts * /
}
Stil
/ * Stylus mixin kallas fel med $ borderWidth -argument som standard är 2px * / error (borderWidth = 2px) (border: borderWidth solid # F00; color: # F00;) .generic-error (padding: 20px; margin: 4px; error (); / * Anslut ett mixin med namnet fel * /) .login-fel (vänster: 12px; position: absolut; topp: 20px; fel (5px); / * Anslut en mixin som kallas fel med ett $ borderWidth -argument på 5px; det vill säga argumentets värde åsidosätts * /
}
Kompilerad CSS
Sammanställning av alla tre förbehandlare resulterar i samma CSS -kod:
När vi skriver CSS -stilar på ett "klassiskt" sätt, för att kunna tillämpa samma egenskaper på flera element i ett HTML -dokument, måste vi skapa kod så här:
p, ul, ol ( / * några stilar här * /
}
Allt fungerar utmärkt. Men om du behöver skriva stilar separat för någon av dessa väljare måste du skapa separata regler för var och en av dem. Och genast blir stilarkskoden rörig och svår att underhålla.
Däremot gäller arv. Arv är förmågan för vissa CSS -väljare att ärva egenskaper från en annan väljare.
Cirka. översättare: notera samma syntax för att ansluta (deklarera) arv i en CSS -väljare med hjälp av direktivet
1
@förlänga
.
Sass & Stylus
.block (marginal: 10px 5px; stoppning: 2px;) p (@extend .block; border: 1px solid #EEE;) ul, ol (@extend .block; / * Ärva egenskaper från klassväljaren. Block * /
Kompilerad CSS
.block, p, ul, ol (marginal: 10px 5px; vaddering: 2px;) p (kant: 1px solid #EEE;) ul, ol (färg: # 333; text-transform: versaler;)
MINDRE
MINDRE förbehandlaren stöder inte helt arv som Sass eller Stylus gör. Istället för att lägga till flera väljare till en enda fastighetsuppsättning behandlas arv som en blandning utan argument.
Stilar importeras för varje väljare. Nackdelen med detta tillvägagångssätt är den ständiga upprepningen av fastighetssträngar i den sammanställda CSS -stilen.
Så här kan MINDRE kod med arv se ut:
.block (marginal: 10px 5px; vaddering: 2px;) p (.block; kant: 1px solid #EEE;) ul, ol (.block; / * Arv av fastigheter från klassväljaren. Block * / färg: # 333; text-transform: versaler; )
I CSS -gemenskapen för att importera stilar med hjälp av direktivet
1
@importera
det finns en ihållande negativ inställning, eftersom detta tillvägagångssätt genererar flera HTTP -begäranden till servern, vilket saktar ner webbläsaren och belastar själva servern. Importtekniken fungerar dock annorlunda i förbehandlare.
I någon av de tre förbehandlarna infogar en fil i en annan effektivt koden från en fil till en annan när den kompileras, vilket resulterar i en enda CSS -fil.
Cirka. översättare: med andra ord, i förbehandlare är import nödvändig för att sammanställa en fil från flera. I standard CSS resulterar import i att en kod ersätts i en annan.
Observera att när du sammanställer en fil med en standardanslutning med hjälp av direktivet
1
@import "file.css"
den senare är inte sammanställd inuti den. Men mixins eller variabler importeras och används i stilfilen som förväntat. Importtekniken är mycket bekväm, eftersom den låter dig skapa många separata filer för korrekt organisation av projektet. / * fil. (typ) * / body (bakgrund: #EEE;) @import "reset.css"; @import "fil. (typ)"; p (bakgrund: # 0982C1;)
Kompilerad CSS
@import "reset.css"; body (bakgrund: #EEE;) p (bakgrund: # 0982C1;)
Färgfunktioner
"Färg" -funktioner är utformade för att omvandla färg när de kompileras. Dessa funktioner är extremt användbara när du skapar lutningar, mörkare färger när
1
sväva
och mycket mer.
Sass
ljusare ($ färg, 10%); mörkare ($ färg, 10%); mättad ($ färg, 10%); desaturat ($ färg, 10%); gråskala ($ färg); / * returnerar gråskala för $ färg * / komplement ($ color); / * returnerar komplementfärg på $ color * / invertera ($ color); / * returnerar den omvända färgen på $ color * / mix ($ color1, $ color2, 50%);
Ovanstående kod är bara en kort lista över färgfunktioner i Sass. En fullständig lista över alla tillgängliga funktioner finns i Sass -dokumentationen.
"Färg" -funktionerna kan användas var du än behöver för att arbeta med färger i koden. Ett enkelt exempel - en variabel med en färg deklareras, till vilken färgtonfunktionen tillämpas ytterligare i koden
ljusare (@color, 10%); / * returnerar en färg 10% ljusare än $ färg * / mörkna (@color, 10%); / * returnerar en färg som är 10% mörkare än $ färg * / mättad (@färg, 10%); / * returnerar en färg som är 10% mer mättad än $ color * // * returnerar en färg 10% mindre mättad än $ color * / spin (@color, 10); / * returnerar färgförskjutningen 10 grader till höger i förhållande till @color * / spin (@color, -10); / * returnerar färgförskjutningen 10 grader till vänster från @färgen * / mix ( @ color1, @ color2); / * returnerar resultatet av att blanda färgen $ color1 med färgen $ color2 * /
Listan över MINDRE förbehandlingsfunktioner finns på den officiella webbplatsen för LESS Documentation -projektet.
Nedan är ett exempel på hur "färg" -funktionerna kan tillämpas i MINDRE:
ljusare (@color, 10%); / * returnerar en färg 10% ljusare än $ färg * / mörkna (@color, 10%); / * returnerar en färg som är 10% mörkare än $ färg * / mättad (@färg, 10%); / * returnerar en färg som är 10% mer mättad än $ color * / desaturera (@color, 10%); / * returnerar en färg 10% mindre mättad än $ color * /
För en fullständig lista över alla Stylus -förbehandlarens färgfunktioner, se projektets webbplats för Stylus Documentation.
Och ett exempel på att använda “färg” -funktionen i Stylus:
Så vi undersökte huvudpunkterna i vad och hur alla tre förbehandlare kan göra. Vi har dock aldrig berört det ögonblick då dessa möjligheter praktiskt tillämpas. Nedan finns en lista över riktiga webbapplikationer som använder förbehandlare samtidigt som de förbättrar hela koden avsevärt.
Webbläsarprefix
Ett av de mest slående exemplen på fördelen med att använda förbehandlare är att skriva egenskaper med webbläsarprefix som använder dem. När vi väl har skapat en mixin med stöd för webbläsarprefix, räddar vi oss från rutinarbete.
Till exempel, låt oss skapa för alla tre förbehandlare mixins för att runda hörnen av ett block:
Jag tänkte på att använda variabler och numeriska värden för dessa variabler när jag precis började bekanta mig med CSS -förbehandlarnas möjligheter. Att deklarera en bredd för en layout i en variabel gör att uppgiften att ändra den bredden ( om nödvändigt) enkelt och snabbt:
Det finns några knep som kan vara knepiga när du arbetar med CSS -förbehandlare. I den här artikeln kommer jag bara att täcka några av dem. Men om du är intresserad av detta ämne rekommenderar jag att du läser den officiella dokumentationen noggrant eller, ännu bättre, bara börja använda förbehandlaren varje dag under kodningsprocessen.
Felmeddelande
Om du har skrivit CSS -kod länge har du förmodligen stött på en situation där ett fel har smugit in i koden som du inte kan hitta. Om du befinner dig i exakt samma situation kan jag glädja dig - det finns ett sätt att lösa detta problem.
CSS -förbehandlare kan rapportera buggar i din kod och få dem att bete sig så enkelt. I det här fallet berättar förprocessorn själv var felet finns i CSS -koden ( och alla är nöjda).
Om du är intresserad av en liknande funktion i alla tre förbehandlare, beskriver den här artikeln i detalj hur du utför den här inställningen.
26.07.2017
5 bästa CSS -förbehandlare 2017 för att påskynda ditt arbetsflöde.
CSS -förbehandlare är utformade specifikt för att göra CSS -programmerarnas arbete roligare. De låter dig skriva lätt redigerbar, tillförlitlig och återanvändbar kod.
Med andra ord är en CSS-förbehandlare ett tillägg till CSS med nya funktioner: variabler, tillägg, import och så vidare.
I den artikeln delar jag de fem bästa CSS -förbehandlarna 2017.
01. Sass
SASS är den mest populära förbehandlaren med ett stort community och kraftfulla funktioner. Det fungerar bara tillsammans med Ruby och är mycket lätt att lära sig. De flesta front-end-ramverk som Bootstrap, Foundation och materialize är byggda med SASS.
SASS har två syntaxer:
.sass
.scss
02. Stylus
Stylus är en annan stor förbehandlare för dynamiskt generering av CSS. Om du vill utelämna lockiga hängslen, kommatecken och semikolon kan det vara det bästa valet för dig. Stylus drivs av Node.js och är mycket enkel att installera och använda. Den har många anpassade funktioner som mättnad (). Du kan också använda alla funktioner från andra ledande kompilatorer.
03. Mindre
Less, även känd som Less.js eller Less CSS, är en annan ledande CSS -förbehandlare. Det är ett bra val om du behöver standardfunktioner som variabler, kapslade stilar och så vidare. Detta Javascript -bibliotek skrevs ursprungligen i Ruby.
Läs också:
04. Stylecow
Stylecow är en förbehandlare skriven i Node som kan installeras med npm. Den har ett kraftfullt API som du enkelt kan skapa plugins med.
05. CSS-Crush
En PHP -byggd förbehandlare som skulle vara ett bra alternativ för PHP -programmerare eftersom den fungerar på många plattformar. CSS-Crush har alla vanliga förbehandlingsfunktioner (variabler, kapslade stilar, etc.)
Slutsats
Om du letar efter den bästa CSS -förbehandlaren finns det massor av olika alternativ på webben. Enligt min mening är de bästa alternativen för nybörjare SASS och Stylus.