Syntactically Awesome Stylesheets Brug Kompas i Sass
I vores sidste indlæg har vi en gang nævnt Compass. Ifølge det officielle websted er det beskrevet som en open source CSS Authoring Framework.
Kort sagt, Compass er en Sass-udvidelse, og som et mindre element mindre, har den en flok brugsklare CSS3 Mixins, medmindre det også har tilføjet flere andre ting, der gør det til et mere kraftfuldt ledsagende værktøj til Sass. Lad os tjekke det ud.
Installation af kompas
Kompas, som Sass, skal installeres i vores system. Men hvis du bruger en applikation som Scout App eller Compass.app, er det ikke nødvendigt.
Uden dem skal du gøre det “manuelt” igennem Terminal / Command Prompt. For at gøre det skal du skrive følgende kommandolinje
På Mac / Linux Terminal
sudo perle installation kompas
På Windows Command Prompt
perle installation kompas
Hvis installationen lykkes, skal du få en meddelelse som vist nedenfor;
Kør derefter følgende kommandolinje i din arbejdskatalog for at tilføje Kompasprojektfiler.
kompass init
Yderligere læsning: Kompaskommandolinjedokumentation
Kompas konfiguration
Hvis du har kørt denne kommando kompass init
, Du skal nu have en fil ved navn config.rb
i din arbejdskatalog. Denne fil bruges til at konfigurere projektudgangen. For eksempel kan vi ændre vores foretrukne katalognavne.
http_path = "/" css_dir = "css" sass_dir = "scss" images_dir = "img" javascripts_dir = "js"
Strip ud kommentaren linje, der er genereret af Compass; vi sætter rigtigt
hvis vi har brug for kommentarer, der skal udskrives eller falsk
hvis det ikke behøver at.
line_comments = false
Vi kan også bestemme CSS output. Der er fire muligheder, vi kan vælge : udvidet
, :kompakt
, : komprimeret
og : indlejret
. For nu har vi bare brug for at blive udvidet, da vi stadig er i udviklingsfasen.
output_style =: udvidet
Jeg tror, at disse konfigurationer er nok til de fleste projekter generelt, men du kan altid henvise til denne dokumentation, Compass Configuration Reference, hvis du har brug for flere præferencer.
Endelig skal vi holde øje
hver fil i mappen med denne kommandolinje;
kompas ur
Denne kommandolinje, som i Sass, vil se alle filændringer og oprette eller opdatere de tilsvarende CSS-filer. Men husk, kør denne linje, når du har konfigureret projektet i config.rb
, Ellers vil det bare ignorere ændringerne i filen.
CSS3 Mixins
Før du går gennem CSS3, i vores primære .SCSS
fil, skal vi importere kompassen med den følgende linje @import "kompas";
, Dette vil importere alle udvidelser i Kompas. Men hvis vi kun har brug for CSS3, kan vi også gøre det mere specifikt med denne linje @import "kompas / css3"
.
Yderligere læsning: Kompas CSS3.
Lad os nu begynde at lave noget med Saas og Compass. I HTML-dokumentet, forudsat at du også har oprettet en, sætter vi følgende simple markup:
Ideen er også enkel; vi vil skabe en roteret kasse med afrundede hjørner, og nedenfor er vores Sass nestede stilarter til starteren;
krop baggrundsfarve: # f3f3f3; sektion bredde: 500px; margin: 50px auto 0; div bredde: 250px; højde: 250px; baggrundsfarve: #ccc; margin: 0 auto;
Og for at få vores rektangel de afrundede hjørner kan vi inkludere Compass CSS3 Mixins som følger:
krop baggrundsfarve: # f3f3f3; sektion bredde: 500px; margin: 50px auto 0; div bredde: 250px; højde: 250px; baggrundsfarve: #ccc; margin: 0 auto; @ omfatte grænseradius
Dette border-radius
Mixins vil generere alle browseren præfikser og som standard hjørne radius vil være 5px
. Men vi kan også angive radiusen til vores behov på denne måde @include border-radius (10px);
.
sektion div bredde: 250px; højde: 250px; baggrundsfarve: #ccc; margin: 0 auto; -webkit-grænse-radius: 10px; -moz-grænse-radius: 10px; -ms-radius: 10px; -grense-radius: 10px; grænse-radius: 10px;
Næste, som planen, vil vi også rotere boksen. Det er virkelig nemt at gøre det med Compass, alt hvad vi skal gøre er bare at kalde transformationsmetoden som sådan;
krop baggrundsfarve: # f3f3f3; sektion bredde: 500px; margin: 50px auto 0; div bredde: 250px; højde: 250px; baggrundsfarve: #ccc; margin: 0 auto; @include border-radius (10px); @include rotere;
Denne Mixins vil også generere disse kedelige leverandør præfikser og rotationen vil tage 45 grader som standard. Se den genererede CSS nedenfor.
sektion div bredde: 250px; højde: 250px; baggrundsfarve: #ccc; margin: 0 auto; -webkit-grænse-radius: 10px; -moz-grænse-radius: 10px; -ms-radius: 10px; -grense-radius: 10px; grænse-radius: 10px; -webkit-transform: roter (45deg); -moz-transform: roter (45deg); -ms-transformer: roter (45deg); -o-transformer: roter (45deg); transformer: roter (45deg);
Kompasshjælpere
En af de mest kraftfulde funktioner i Compass er hjælperne. Ifølge det officielle websted, Kompasshjælperne er funktioner, der forstærker de funktioner, som Sass tilbyder. Okay, lad os tage et kig på følgende eksempler for at få et klart billede.
Tilføjelse af @ Font-face-filer
I dette eksempel skal vi tilføje brugerdefineret skrifttype med @ Font-face
Herske. I almindelig CSS3 kan koden se sådan ud nedenfor som består af fire forskellige skrifttyper, og det er også svært at huske for nogle mennesker.
@ font-face font-family: "MyFont"; src: url ('/ fonts / font.ttf') format ('truetype'), url ('/ fonts / font.otf') format ('opentype'), url ('/ fonts / font.woff') format ('woff'), url ('/ fonts / font.eot') format ('embedded-opentype');
Med kompas vi kan gøre det samme lettere med font-filer ()
Hjælpere;
@include font-face ("MyFont", skrifttypefiler ("font.ttf", "font.otf", "font.woff", "font.eot"));
Koden ovenfor vil generere et resultat, der er nøjagtigt det samme som det første kodestykke, det vil også automatisk registrere skrifttypen og føje det til format()
syntaks.
Men hvis vi kigger på koden nøje, vil du se, at vi ikke tilføjede skrifttypebanen (/ fonts /
). Så hvordan kunne Compass vide, hvor skrifttyperne er placeret? Nå, ikke blive forvirret, denne vej er faktisk afledt af config.rb
med fonts_path
ejendom;
fonts_dir = "skrifttyper"
Så lad os sige, at vi ændrer det til fonts_dir = "myfonts"
, så vil den genererede kode være url ( '/ MyFonts / font.ttf')
. Som standard, når vi ikke angiver stien, vil Compass rette det til Stylesheets / fonts
.
Tilføjelse af billede
Lad os oprette et andet eksempel, denne gang vil vi tilføje et billede. Tilføjelse af billeder via CSS er en fælles ting. Vi gør det generelt ved at bruge baggrundsbillede
ejendom som sådan;
div baggrundsbillede: url ('/ img / the-image.png');
I kompas, snarere end at bruge url ()
funktion, kan vi erstatte det med billede-url ()
Hjælpere og ligner at tilføje @ Font-face
ovenfor kan vi fuldstændig ignorere stien og lade Compass klare resten.
Denne kode vil også generere den nøjagtige samme CSS-deklaration som i det første uddrag.
div background-image: image-url (the-image.png);
Derudover har Compass også Image Dimension Helpers, det registrerer primært billedbredden og højden, så hvis vi har brug for dem begge for at blive specificeret i vores CSS, kan vi tilføje to linjer som følger:
div background-image: image-url ("images.png"); bredde: billedbredde ("images.png"); højde: billedhøjde ("images.png");
Outputen bliver sådan noget;
div baggrundsbillede: url ('/ img / images.png? 1344774650'); bredde: 80px; højde: 80px;
Yderligere læsning: Kompashjælperfunktioner
Endelig tanke
Okay, vi har diskuteret ret meget om Compass i dag, og som du kan se det er virkelig et kraftfuldt værktøj og lad os skrive CSS på en mere elegant måde.
Og som du allerede vidste, er Sass ikke den eneste CSS Preprocessor; der er også mindre, som vi har drøftet grundigt før. I det næste indlæg vil vi forsøge at sammenligne, head-to-head, hvilken af disse to gør jobbet bedre i forarbejdning af CSS.
- Download kilde