Prilagodite i proširite Bootstrap s LESS -om, CSS predprocesorom, kako biste iskoristili prednosti varijabli, mixina i još mnogo toga što se koristi za izradu Bootstrapovog CSS-a.
Bootstrap je izrađen s LESS-om u svojoj jezgri, dinamičnim stilskim jezikom koji je stvorio naš dobar prijatelj, Alexis Sellier . Čini razvijanje CSS-a temeljenog na sustavima bržim, lakšim i zabavnijim.
Kao proširenje CSS-a, LESS uključuje varijable, mixins za ponovno upotrebljive isječke koda, operacije za jednostavnu matematiku, gniježđenje, pa čak i funkcije boja.
Upravljanje bojama i vrijednostima piksela u CSS-u može biti pomalo mučno, obično puno kopiranja i lijepljenja. Ali ne s MANJE — dodijelite boje ili vrijednosti piksela kao varijable i promijenite ih jednom.
One tri deklaracije radijusa obruba koje trebate napraviti u običnom starom CSS-u? Sada su svedeni na jedan redak uz pomoć mixina, isječaka koda koje možete ponovno upotrijebiti bilo gdje.
Učinite svoju mrežu, vodeći i još više super fleksibilnom radeći matematiku u hodu s operacijama. Množite, dijelite, zbrajajte i oduzimajte svoj put do razumnog CSS-a.
@linkColor |  
         #08c | Zadana boja teksta veze | |
@linkColorHover |  
         darken(@linkColor, 15%) |  
         Zadana boja teksta veze | 
@gridColumns |  
         12 | 
@gridColumnWidth |  
         60 px | 
@gridGutterWidth |  
         20 px | 
@fluidGridColumnWidth |  
         6,382978723% | 
@fluidGridGutterWidth |  
         2,127659574% | 
@baseFontSize |  
         13px | |
@baseFontFamily |  
         "Helvetica Neue", Helvetica, Arial, sans-serif |  
         |
@baseLineHeight |  
         18 px | 
@black |  
         #000 | |
@grayDarker |  
         #222 | |
@grayDark |  
         #333 | |
@gray |  
         #555 | |
@grayLight |  
         #999 | |
@grayLighter |  
         #eee | |
@white |  
         #F F F | 
@blue |  
         #049cdb | |
@green |  
         #46a546 | |
@red |  
         #9d261d | |
@yellow |  
         #ffc40d | |
@orange |  
         #f89406 | |
@pink |  
         #c3325f | |
@purple |  
         #7a43b6 | 
@primaryButtonBackground |  
         @linkColor |  
         
@placeholderText |  
         @grayLight |  
         
@navbarHeight |  
         40 px | |
@navbarBackground |  
         @grayDarker |  
         |
@navbarBackgroundHighlight |  
         @grayDark |  
         |
@navbarText |  
         @grayLight |  
         |
@navbarLinkColor |  
         @grayLight |  
         |
@navbarLinkColorHover |  
         @white |  
         
@warningText |  
         #f3edd2 | |
@warningBackground |  
         #c09853 | |
@errorText |  
         #b94a48 | |
@errorBackground |  
         #f2dede | |
@successText |  
         #468847 | |
@successBackground |  
         #dff0d8 | |
@infoText |  
         #3a87ad | |
@infoBackground |  
         #d9edf7 | 
Osnovni mixin je u biti uključen ili djelomičan za isječak CSS-a. Napisane su kao CSS klasa i mogu se pozvati bilo gdje.
- . element {
 - . clearfix ();
 - }
 
Parametarski mixin je kao i osnovni mixin, ali također prihvaća parametre (otuda i naziv) s neobaveznim zadanim vrijednostima.
- . element {
 - . granica - radijus ( 4px );
 - }
 
Gotovo svi Bootstrapovi mixini pohranjeni su u mixins.less, prekrasnoj uslužnoj .less datoteci koja vam omogućuje korištenje mixina u bilo kojoj od .less datoteka u kompletu alata.
Dakle, samo naprijed i koristite postojeće ili slobodno dodajte vlastite prema potrebi.
| Mixin | Parametri | Korištenje | 
|---|---|---|
.clearfix() |  
       nikakav | Dodajte bilo kojem nadređenom elementu da biste izbrisali plutajuće elemente unutar njega | 
.tab-focus() |  
       nikakav | Primijenite Webkit fokus stil i okrugli obris Firefoxa | 
.center-block() |  
       nikakav | Automatsko centriranje elementa na razini bloka pomoćumargin: auto |  
      
.ie7-inline-block() |  
       nikakav | Upotrijebite uz redovnu display: inline-blockda biste dobili podršku za IE7 |  
      
.size() |  
       @height: 5px, @width: 5px |  
       Brzo postavite visinu i širinu na jednoj liniji | 
.square() |  
       @size: 5px |  
       Nadovezuje se na .size()postavljanje širine i visine kao iste vrijednosti |  
      
.opacity() |  
       @opacity: 100 |  
       Postavite, u cijelim brojevima, postotak neprozirnosti (npr. "50" ili "75") | 
| Mixin | Parametri | Korištenje | 
|---|---|---|
.placeholder() |  
       @color: @placeholderText |  
       Postavite placeholderboju teksta za unose |  
      
| Mixin | Parametri | Korištenje | 
|---|---|---|
#font > #family > .serif() |  
       nikakav | Učinite da element koristi niz serifnih fontova | 
#font > #family > .sans-serif() |  
       nikakav | Učinite da element koristi snop fontova sans-serif | 
#font > #family > .monospace() |  
       nikakav | Učinite da element koristi monospace font stog | 
#font > .shorthand() |  
       @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |  
       Jednostavno postavite veličinu fonta, težinu i početnu stranu | 
#font > .serif() |  
       @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |  
       Postavite obitelj fonta na serif i kontrolirajte veličinu, težinu i početnu stranu | 
#font > .sans-serif() |  
       @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |  
       Postavite obitelj fonta na sans-serif i kontrolirajte veličinu, težinu i početnu stranu | 
#font > .monospace() |  
       @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |  
       Postavite obitelj fonta na monospace i kontrolirajte veličinu, težinu i početnu stranu | 
| Mixin | Parametri | Korištenje | 
|---|---|---|
.container-fixed() |  
       nikakav | Osigurajte spremnik fiksne širine (postavljen s @siteWidth) za držanje vašeg sadržaja |  
      
.columns() |  
       @columns: 1 |  
       Izgradite stupac rešetke koji obuhvaća bilo koji broj stupaca (zadano je 1 stupac) | 
.offset() |  
       @columns: 1 |  
       Pomaknite stupac mreže s lijevom marginom koja obuhvaća bilo koji broj stupaca | 
.gridColumn() |  
       nikakav | Neka element pluta poput stupca rešetke | 
| Mixin | Parametri | Korištenje | 
|---|---|---|
.border-radius() |  
       @radius: 5px |  
       Zaokružite uglove elementa. Može biti jedna vrijednost ili četiri vrijednosti odvojene razmakom | 
.box-shadow() |  
       @shadow: 0 1px 3px rgba(0,0,0,.25) |  
       Dodajte sjenu elementu | 
.transition() |  
       @transition |  
       Dodaj CSS3 efekt prijelaza (npr., all .2s linear) |  
      
.rotate() |  
       @degrees |  
       Rotirajte element za n stupnjeva | 
.scale() |  
       @ratio |  
       Skalirajte element na n puta u odnosu na izvornu veličinu | 
.translate() |  
       @x: 0, @y: 0 |  
       Pomaknite element u ravninama x i y | 
.background-clip() |  
       @clip |  
       Izrežite pozadinu elementa (korisno za border-radius) |  
      
.background-size() |  
       @size |  
       Kontrolirajte veličinu pozadinskih slika putem CSS3 | 
.box-sizing() |  
       @boxmodel |  
       Promjena modela okvira za element (npr. border-boxza punu širinu input) |  
      
.user-select() |  
       @select |  
       Kontrola odabira kursora teksta na stranici | 
.resizable() |  
       @direction: both |  
       Neka bilo koji element može mijenjati veličinu s desne i donje strane | 
.content-columns() |  
       @columnCount, @columnGap: @gridColumnGutter |  
       Neka sadržaj bilo kojeg elementa koristi CSS3 stupce | 
| Mixin | Parametri | Korištenje | 
|---|---|---|
.#translucent > .background() |  
       @color: @white, @alpha: 1 |  
       Dajte elementu prozirnu boju pozadine | 
.#translucent > .border() |  
       @color: @white, @alpha: 1 |  
       Dajte elementu prozirnu boju obruba | 
.#gradient > .vertical() |  
       @startColor, @endColor |  
       Stvorite vertikalni gradijent pozadine za više preglednika | 
.#gradient > .horizontal() |  
       @startColor, @endColor |  
       Stvorite horizontalni pozadinski gradijent za više preglednika | 
.#gradient > .directional() |  
       @startColor, @endColor, @deg |  
       Stvorite usmjereni pozadinski gradijent za više preglednika | 
.#gradient > .vertical-three-colors() |  
       @startColor, @midColor, @colorStop, @endColor |  
       Stvorite gradijent pozadine u tri boje za više preglednika | 
.#gradient > .radial() |  
       @innerColor, @outerColor |  
       Stvorite radijalni pozadinski gradijent za više preglednika | 
.#gradient > .striped() |  
       @color, @angle |  
       Stvorite prugasti pozadinski gradijent za više preglednika | 
.#gradientBar() |  
       @primaryColor, @secondaryColor |  
       Koristi se za gumbe za dodjelu gradijenta i nešto tamnijeg obruba | 
Instalirajte LESS kompilator naredbenog retka s npm-om pokretanjem sljedeće naredbe:
$ npm instalirajte manje
Jednom instaliran samo pokrenite makeiz korijena svog bootstrap direktorija i sve je spremno.
Osim toga, ako imate instaliran watchr , možete pokrenuti make watchda se bootstrap automatski ponovno izgradi svaki put kada uređujete datoteku u bootstrap lib (ovo nije potrebno, samo prikladna metoda).
Instalirajte LESS alat naredbenog retka putem Nodea i pokrenite sljedeću naredbu:
$lessc ./lib/bootstrap.less > bootstrap.css
Obavezno uključite --compresstu naredbu ako pokušavate uštedjeti neke bajtove!
Preuzmite najnoviji Less.js i uključite put do njega (i Bootstrapa) u <head>.
<link rel = "stylesheet/less" href = "/path/to/bootstrap.less" > <script src = "/path/to/less.js" ></script>
Za ponovno kompajliranje .less datoteka, samo ih spremite i ponovno učitajte svoju stranicu. Less.js ih kompajlira i pohranjuje u lokalnu pohranu.
Neslužbena Mac aplikacija prati direktorije .less datoteka i kompajlira kod u lokalne datoteke nakon svakog spremanja promatrane .less datoteke.
Ako želite, možete promijeniti postavke u aplikaciji za automatsko smanjivanje i direktorij u kojem kompajlirane datoteke završavaju.
Crunch je izvrstan LESS uređivač i kompajler izgrađen na Adobe Airu.
Stvorio ga je isti čovjek kao i neslužbenu Mac aplikaciju, CodeKit je Mac aplikacija koja kompilira LESS, SASS, Stylus i CoffeeScript.
Mac, Linux i PC aplikacija za povlačenje i ispuštanje datoteka LESS. Osim toga, izvorni kod je na GitHubu .