Prilagodite in razširite Bootstrap z LESS , predprocesorjem CSS, da izkoristite spremenljivke, mixine in drugo, ki se uporablja za izdelavo Bootstrapovega CSS.
Bootstrap je narejen z LESS v svojem jedru, dinamičnim jezikom slogov, ki ga je ustvaril naš dober prijatelj Alexis Sellier . Omogoča hitrejši, lažji in zabavnejši razvoj sistemskega CSS.
Kot razširitev CSS-ja LESS vključuje spremenljivke, mešanice za večkratno uporabne delčke kode, operacije za preprosto matematiko, gnezdenje in celo barvne funkcije.
Upravljanje barv in vrednosti slikovnih pik v CSS je lahko nekoliko mučno, običajno polno kopiranja in lepljenja. Vendar ne z LESS – dodelite barve ali vrednosti slikovnih pik kot spremenljivke in jih enkrat spremenite.
Tiste tri deklaracije polmera obrobe, ki jih morate narediti v običajnem starem CSS? Zdaj so omejeni na eno vrstico s pomočjo mixinov, odrezkov kode, ki jih lahko znova uporabite kjer koli.
Naredite svojo mrežo, vodilo in bolj prilagodljivo tako, da sproti računate z operacijami. Množite, delite, seštevajte in odštevajte svojo pot do razumnosti CSS.
@bodyBackground |
@white |
Barva ozadja strani | |
@textColor |
@grayDark |
Privzeta barva besedila za celotno telo, naslove in drugo | |
@linkColor |
#08c |
Privzeta barva besedila povezave | |
@linkColorHover |
darken(@linkColor, 15%) |
Privzeta barva besedila povezave |
@gridColumns |
12 |
@gridColumnWidth |
60 slikovnih pik |
@gridGutterWidth |
20 slikovnih pik |
@fluidGridColumnWidth |
6,382978723 % |
@fluidGridGutterWidth |
2,127659574 % |
@sansFontFamily |
"Helvetica Neue", Helvetica, Arial, sans-serif | |
@serifFontFamily |
Georgia, "Times New Roman", Times, serif |
|
@monoFontFamily |
Menlo, Monako, "Courier New", monospace | |
@baseFontSize |
13px | Morajo biti slikovne pike |
@baseFontFamily |
@sansFontFamily |
|
@baseLineHeight |
18 slikovnih pik | Morajo biti slikovne pike |
@altFontFamily |
@serifFontFamily |
|
@headingsFontFamily |
inherit |
|
@headingsFontWeight |
bold |
|
@headingsColor |
inherit |
@tableBackground |
transparent |
@tableBackgroundAccent |
#f9f9f9 |
@tableBackgroundHover |
#f5f5f5 |
@tableBorder |
ddd |
@black |
#000 | |
@grayDarker |
#222 | |
@grayDark |
#333 | |
@gray |
#555 | |
@grayLight |
#999 | |
@grayLighter |
#eee | |
@white |
#fff |
@blue |
#049cdb | |
@green |
#46a546 | |
@red |
#9d261d | |
@yellow |
#ffc40d | |
@orange |
#f89406 | |
@pink |
#c3325f | |
@purple |
#7a43b6 |
@btnBackground |
@white |
|
@btnBackgroundHighlight |
darken(@white, 10%) |
|
@btnBorder |
darken(@white, 20%) |
|
@btnPrimaryBackground |
@linkColor |
|
@btnPrimaryBackgroundHighlight |
spin(@btnPrimaryBackground, 15%) |
|
@btnInfoBackground |
#5bc0de |
|
@btnInfoBackgroundHighlight |
#2f96b4 |
|
@btnSuccessBackground |
#62c462 |
|
@btnSuccessBackgroundHighlight |
51a351 |
|
@btnWarningBackground |
lighten(@orange, 15%) |
|
@btnWarningBackgroundHighlight |
@orange |
|
@btnDangerBackground |
#ee5f5b |
|
@btnDangerBackgroundHighlight |
#bd362f |
|
@btnInverseBackground |
@gray |
|
@btnInverseBackgroundHighlight |
@grayDarker |
@placeholderText |
@grayLight |
@inputBackground |
@white |
@inputBorder |
#ccc |
@inputBorderRadius |
3px |
@inputDisabledBackground |
@grayLighter |
@formActionsBackground |
#f5f5f5 |
@warningText |
#c09853 | |
@warningBackground |
#f3edd2 | |
@errorText |
#b94a48 | |
@errorBackground |
#f2dede | |
@successText |
#468847 | |
@successBackground |
#dff0d8 | |
@infoText |
#3a87ad | |
@infoBackground |
#d9edf7 |
@navbarHeight |
40 slikovnih pik | |
@navbarBackground |
@grayDarker |
|
@navbarBackgroundHighlight |
@grayDark |
|
@navbarText |
@grayLight |
|
@navbarLinkColor |
@grayLight |
|
@navbarLinkColorHover |
@white |
|
@navbarLinkColorActive |
@navbarLinkColorHover |
|
@navbarLinkBackgroundHover |
transparent |
|
@navbarLinkBackgroundActive |
@navbarBackground |
|
@navbarSearchBackground |
lighten(@navbarBackground, 25%) |
|
@navbarSearchBackgroundFocus |
@white |
|
@navbarSearchBorder |
darken(@navbarSearchBackground, 30%) |
|
@navbarSearchPlaceholderColor |
#ccc |
|
@navbarBrandColor |
@navbarLinkColor |
@dropdownBackground |
@white |
@dropdownBorder |
rgba(0,0,0,.2) |
@dropdownLinkColor |
@grayDark |
@dropdownLinkColorHover |
@white |
@dropdownLinkBackgroundHover |
@linkColor |
@heroUnitBackground |
@grayLighter |
|
@heroUnitHeadingColor |
inherit |
|
@heroUnitLeadColor |
inhereit |
Osnovni mixin je v bistvu vključitev ali del za delček CSS. Napisani so tako kot razred CSS in jih je mogoče poklicati kjer koli.
- . element {
- . clearfix ();
- }
Parametrični mixin je tako kot osnovni mixin, vendar sprejema tudi parametre (od tod tudi ime) z neobveznimi privzetimi vrednostmi.
- . element {
- . obroba - polmer ( 4px );
- }
Skoraj vsi Bootstrapovi miksini so shranjeni v mixins.less, čudoviti uporabniški datoteki .less, ki vam omogoča uporabo miksinov v kateri koli od datotek .less v kompletu orodij.
Torej, nadaljujte in uporabite obstoječe ali pa po potrebi dodajte svoje.
Mixin | Parametri | Uporaba |
---|---|---|
.clearfix() |
nič | Dodajte kateremu koli nadrejenemu elementu, da počistite lebdeče znotraj |
.tab-focus() |
nič | Uporabite slog fokusa Webkit in zaokrožite oris Firefoxa |
.center-block() |
nič | Samodejno centriranje elementa na ravni bloka z uporabomargin: auto |
.ie7-inline-block() |
nič | Uporabite poleg običajnega display: inline-block , da dobite podporo za IE7 |
.size() |
@height @width |
Hitro nastavite višino in širino v eni vrstici |
.square() |
@size |
Nadgrajuje .size() za nastavitev širine in višine kot enake vrednosti |
.opacity() |
@opacity |
V celih številih nastavite odstotek motnosti (npr. "50" ali "75") |
Mixin | Parametri | Uporaba |
---|---|---|
.placeholder() |
@color: @placeholderText |
Nastavite placeholder barvo besedila za vnose |
Mixin | Parametri | Uporaba |
---|---|---|
#font > #family > .serif() |
nič | Naj element uporablja sklad serifnih pisav |
#font > #family > .sans-serif() |
nič | Naj element uporablja sklad pisav sans-serif |
#font > #family > .monospace() |
nič | Naj element uporablja sklad pisav z enoprostornim prostorom |
#font > .shorthand() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
Preprosto nastavite velikost pisave, težo in vodilo |
#font > .serif() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
Nastavite družino pisav na serif in nadzirajte velikost, težo in vodilo |
#font > .sans-serif() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
Nastavite družino pisav na sans-serif in nadzirajte velikost, težo in vodilo |
#font > .monospace() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
Nastavite družino pisav na monospace in nadzirajte velikost, težo in vodilo |
Mixin | Parametri | Uporaba |
---|---|---|
.container-fixed() |
nič | Ustvarite vodoravno centrirano posodo za shranjevanje vaše vsebine |
#grid > .core() |
@gridColumnWidth, @gridGutterWidth |
Ustvarite sistem mreže slikovnih pik (vsebnik, vrstica in stolpci) z n stolpci in x slikovnih pik širokim žlebom |
#grid > .fluid() |
@fluidGridColumnWidth, @fluidGridGutterWidth |
Ustvarite precentni mrežni sistem z n stolpci in x % širokim žlebom |
#grid > .input() |
@gridColumnWidth, @gridGutterWidth |
Ustvarite sistem mreže slikovnih pik za input elemente, pri čemer upoštevajte oblazinjenje in obrobe |
.makeColumn |
@columns: 1, @offset: 0 |
Poljubno div spremenite v stolpec mreže brez .span* razredov |
Mixin | Parametri | Uporaba |
---|---|---|
.border-radius() |
@radius |
Zaokrožite vogale elementa. Lahko je ena vrednost ali štiri vrednosti, ločene s presledki |
.box-shadow() |
@shadow |
Dodajte senco elementu |
.transition() |
@transition |
Dodajte učinek prehoda CSS3 (npr. all .2s linear ) |
.rotate() |
@degrees |
Zavrtite element za n stopinj |
.scale() |
@ratio |
Povečaj element na n -kratno prvotno velikost |
.translate() |
@x, @y |
Premaknite element na ravnini x in y |
.background-clip() |
@clip |
Obrežite ozadje elementa (uporabno za border-radius ) |
.background-size() |
@size |
Nadzorujte velikost slik ozadja prek CSS3 |
.box-sizing() |
@boxmodel |
Spremenite model polja za element (npr. border-box za polno širino input ) |
.user-select() |
@select |
Nadzor izbire besedila s kazalcem na strani |
.backface-visibility() |
@visibility: visible |
Preprečite utripanje vsebine pri uporabi 3D transformacij CSS |
.resizable() |
@direction: both |
Poljubnemu elementu spremenite velikost na desni in spodnji strani |
.content-columns() |
@columnCount, @columnGap: @gridGutterWidth |
Naj vsebina katerega koli elementa uporablja stolpce CSS3 |
Mixin | Parametri | Uporaba |
---|---|---|
#translucent > .background() |
@color: @white, @alpha: 1 |
Elementu dajte prosojno barvo ozadja |
#translucent > .border() |
@color: @white, @alpha: 1 |
Elementu dajte prosojno barvo obrobe |
#gradient > .vertical() |
@startColor, @endColor |
Ustvarite navpični preliv ozadja med brskalniki |
#gradient > .horizontal() |
@startColor, @endColor |
Ustvarite vodoravni preliv ozadja med brskalniki |
#gradient > .directional() |
@startColor, @endColor, @deg |
Ustvarite usmerjeni preliv ozadja med brskalniki |
#gradient > .vertical-three-colors() |
@startColor, @midColor, @colorStop, @endColor |
Ustvarite tribarvni preliv ozadja med brskalniki |
#gradient > .radial() |
@innerColor, @outerColor |
Ustvarite radialni preliv ozadja med brskalniki |
#gradient > .striped() |
@color, @angle |
Ustvarite preliv črtastega ozadja med brskalniki |
#gradientBar() |
@primaryColor, @secondaryColor |
Uporablja se za gumbe za dodelitev preliva in nekoliko temnejše obrobe |
Namestite prevajalnik ukazne vrstice LESS in uglify-js globalno z npm tako, da zaženete naslednji ukaz:
$ npm install -g less uglify-js
Po namestitvi samo zaženite make
iz korena svojega zagonskega imenika in vse je pripravljeno.
Poleg tega, če imate nameščen watchr , lahko zaženete make watch
, da se bootstrap samodejno znova zgradi vsakič, ko uredite datoteko v bootstrap lib (to ni obvezno, le priročna metoda).
Namestite orodje ukazne vrstice LESS prek Node in zaženite naslednji ukaz:
$lessc ./less/bootstrap.less > bootstrap.css
Ne pozabite vključiti --compress
v ta ukaz, če poskušate shraniti nekaj bajtov!
Prenesite najnovejši Less.js in vključite pot do njega (in Bootstrap) v <head>
.
<link rel = "stylesheet/less" href = "/path/to/bootstrap.less" > <script src = "/path/to/less.js" ></script>
Če želite znova prevesti datoteke .less, jih preprosto shranite in znova naložite stran. Less.js jih prevede in shrani v lokalno shrambo.
Neuradna aplikacija za Mac spremlja imenike datotek .less in prevaja kodo v lokalne datoteke po vsakem shranjevanju opazovane datoteke .less.
If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.
Crunch is a great looking LESS editor and compiler built on Adobe Air.
Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.
Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the source code is on GitHub.