Yuz LESS wit Bootstrap

Kastamayz ɛn ɛkstɛnd Bootstrap wit LESS , wan CSS prɛprosɛsɔ, fɔ tek advantej pan di vɛriɔbul dɛn, miksin dɛn, ɛn mɔ we dɛn yuz fɔ bil Bootstrap in CSS.

Wetin mek LƐS?

Bootstrap na LESS na in kɔr, wan dinamik staylshit langwej we wi gud padi, Alexis Sellier , mek . I de mek fɔ divɛlɔp sistem-based CSS fast, izi, ɛn fayn.

Wetin de insay?

As ɛkstenshɔn fɔ CSS, LESS inklud vɛriɔbul dɛn, miksin fɔ riyuz snipɛt dɛn fɔ kɔd, ɔpreshɔn fɔ simpul mats, nɛst, ɛn ivin kɔlɔ fɛnshɔn dɛn.

Lan mɔ bɔt dis

LƐS CSS

Visit di ɔfishal wɛbsayt na http://lesscss.org/ fɔ lan mɔ.

Di tin dɛn we kin chenj

Fɔ manej kɔlɔ ɛn piksɛl valyu dɛn na CSS kin mek yu fil pen smɔl, bɔku tɛm i kin ful-ɔp wit kɔpi ɛn pas. Nɔto wit LƐS pan ɔl we—asayn kɔlɔ ɔ piksɛl valyu dɛn as vɛriɔbul ɛn chenj dɛn wan tɛm.

Mixin dɛn

Dɛn tri bɔda-rɛdius diklareshɔn dɛn de we yu nid fɔ mek na rɛgyula ol' CSS? Naw dɛn dɔn go dɔŋ to wan layn wit di ɛp fɔ miksin dɛn, snipɛt dɛn fɔ kɔd we yu kin yuz bak ɛnisay.

Di opareshɔn dɛn

Mek yu grid, lida, ɛn mɔ supa fleksibul bay we yu de du di mats pan di flay wit ɔpreshɔn dɛn. Multiply, divayd, ad, ɛn pul yu we fɔ CSS sanity.

Di haypa link dɛn

@linkColor #08c fɔ di wan dɛn we de Difɔlt link tɛks kɔlɔ
@linkColorHover darken(@linkColor, 15%) Difɔlt link tɛks hova kɔlɔ

Grid sistem

@gridColumns 12 we de tɔk bɔt
@gridColumnWidth 60px na di pikchɔ
@gridGutterWidth 20px we gɛt
@fluidGridColumnWidth 6,382978723% ɛn di ɔda wan dɛn.
@fluidGridGutterWidth 2,127659574% ɛn di ɔda wan dɛn.

Taypografi

@baseFontSize 13px na di pikchɔ
@baseFontFamily "Helvetica Neue", Helvetica, Arial, sans-serif
@baseLineHeight 18px na di pikchɔ

Greyskayl kɔlɔ dɛn

@black #000 fɔ di wan dɛn we de
@grayDarker #222 fɔ di wan dɛn we de
@grayDark #333 fɔ di wan dɛn we de
@gray #555 fɔ di wan dɛn we de
@grayLight #999 na di pikchɔ
@grayLighter #eee
@white #fff fɔ di wan dɛn we de

Aksɛn kɔlɔ dɛn

@blue #049cdb na di pikchɔ
@green #46a546 na di pikchɔ
@red #9d261d fɔ di wan dɛn we de
@yellow #ffc40d fɔ di wan dɛn we de
@orange #f89406 na di pikchɔ
@pink #c3325f fɔ di wan dɛn we de
@purple #7a43b6 na di pikchɔ

Di tin dɛn we de insay di bɔdi

Bɔtin dɛn

@primaryButtonBackground @linkColor

Fɔm dɛn

@placeholderText @grayLight

Navbar fɔ di wan dɛn we de

@navbarHeight 40px na di pikchɔ
@navbarBackground @grayDarker
@navbarBackgroundHighlight @grayDark
@navbarText @grayLight
@navbarLinkColor @grayLight
@navbarLinkColorHover @white

Fɔm stet ɛn alɛt dɛn

@warningText #c09853 na di pikchɔ
@warningBackground #f3ɛd2
@errorText #b94a48 na di pikchɔ
@errorBackground #f2dede fɔ di wan dɛn we de
@successText #468847 na di pikchɔ
@successBackground #dff0d8 fɔ di wan dɛn
@infoText #3a87ad fɔ di wan dɛn we de
@infoBackground #d9edf7 fɔ di wan dɛn we de

Na bɔt miksin dɛn

Besik miksin dɛn

Wan besik mixin na essentially wan inklud ɔ wan pat fɔ wan snipɛt fɔ CSS. Dɛn rayt dɛn jɔs lɛk CSS klas ɛn dɛn kin kɔl dɛn ɛnisay.

  1. . elemɛnt { .
  2. . kliafiks ();
  3. } .

Paramɛtrik miksin dɛn

Wan paramɛtrik miksin jɔs tan lɛk wan besik miksin, bɔt i de aksept paramita dɛn bak (na dat mek dɛn gi am di nem) wit opshɔnal difɔlt valyu dɛn.

  1. . elemɛnt { .
  2. . bɔda - rayus ( 4px );
  3. } .

I izi fɔ ad yu yon

Klose to ɔl di mixin dɛn na Bootstrap de na mixins.less, we na wan fayn fayn yutiliti .less fayl we de mek yu ebul fɔ yuz wan mixin na ɛni wan pan di .less fayl dɛn na di tulkit.

So, go bifo ɛn yuz di wan dɛn we dɔn de ɔ fil fri fɔ ad yu yon as yu nid.

Inklud miksin dɛn

Yutiliti dɛn

Mixin we dɛn mek Paramita dɛn Aw fɔ yuz am
.clearfix() nɔn Ad to ɛni mama ɔ papa fɔ klia flot dɛn insay
.tab-focus() nɔn Aplay di Wɛbkit fɔs stayl ɛn rawnd Fayafaks ɔtlayn
.center-block() nɔn Oto senta wan blɔk-lɛvɛl ɛlimɛnt we de yuzmargin: auto
.ie7-inline-block() nɔn Yuz in ad pan rɛgyula display: inline-blockfɔ gɛt IE7 sɔpɔt
.size() @height: 5px, @width: 5px Sɛt di ayt ɛn di wit kwik kwik wan na wan layn
.square() @size: 5px Bil pan .size()fɔ sɛt di wit ɛn ayt as di sem valyu
.opacity() @opacity: 100 Sɛt, insay ɔl nɔmba dɛn, di opasiti pasɛnt (ɛgz., "50" ɔ "75")

Fɔm dɛn

Mixin we dɛn mek Paramita dɛn Aw fɔ yuz am
.placeholder() @color: @placeholderText Set di placeholdertɛks kɔlɔ fɔ input dɛn

Taypografi

Mixin we dɛn mek Paramita dɛn Aw fɔ yuz am
#font > #family > .serif() nɔn Mek wan elemɛnt yuz wan serif font stak
#font > #family > .sans-serif() nɔn Mek wan elemɛnt yuz wan sans-serif font stak
#font > #family > .monospace() nɔn Mek wan elemɛnt yuz wan monospɛs font stak
#font > .shorthand() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight I izi fɔ sɛt di font saiz, di wet, ɛn di lida
#font > .serif() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight Set font famili to serif, ɛn kɔntrol saiz, wet, ɛn lida
#font > .sans-serif() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight Set font famili to sans-serif, ɛn kɔntrol saiz, wet, ɛn lida
#font > .monospace() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight Set font famili to monospace, ɛn kɔntrol saiz, wet, ɛn lida

Grid sistem

Mixin we dɛn mek Paramita dɛn Aw fɔ yuz am
.container-fixed() nɔn Krio wan kɔntena we gɛt ɔrizɔntal sɛnt fɔ ol yu kɔntinyu
#grid > .core() @gridColumnWidth, @gridGutterWidth Jɛnɛret wan piksɛl grid sistem (kɔntena, rɔw, ɛn kɔlɔm) wit n kɔlɔm ɛn x piksɛl waid gɔta
#grid > .fluid() @fluidGridColumnWidth, @fluidGridGutterWidth Jɛnɛret wan prɛsɛn grid sistem wit n kɔlɔm ɛn x % wayd gɔta

CSS3 prɔpati dɛn

Mixin we dɛn mek Paramita dɛn Aw fɔ yuz am
.border-radius() @radius: 5px Raun di kɔna dɛn fɔ wan ɛlimɛnt. I kin bi wan valyu ɔ 4 valyu dɛn we dɛn separet wit spɛshal ples
.box-shadow() @shadow: 0 1px 3px rgba(0,0,0,.25) Ad wan drɔp shado to wan ɛlimɛnt
.transition() @transition Ad CSS3 transishɔn ɛfɛkt (ɛgz., all .2s linear) .
.rotate() @degrees Rotate wan elemɛnt n digri
.scale() @ratio Skel wan ɛlimɛnt to n tɛm in ɔrijinal saiz
.translate() @x: 0, @y: 0 Muv wan ɛlimɛnt na di x ɛn y plen dɛn
.background-clip() @clip Krop di bakgrɔn fɔ wan ɛlimɛnt (yusful fɔ border-radius) .
.background-size() @size Kɔntrol di sayz fɔ bakgrɔn pikchɔ dɛn bay CSS3
.box-sizing() @boxmodel Chenj di bɔks mɔdel fɔ wan ɛlimɛnt (ɛgz., border-boxfɔ wan ful-wid input) .
.user-select() @select Kɔntrol di kɔsa sɛlɛkshɔn fɔ tɛks na wan pej
.resizable() @direction: both Mek ɛni ɛlimɛnt we yu kin chenj di sayz na di rayt ɛn dɔŋ
.content-columns() @columnCount, @columnGap: @gridColumnGutter Mek di kɔntinyu fɔ ɛni ɛlimɛnt yuz CSS3 kɔlɔm dɛn

Bakgrɔn ɛn di grɛdiɛnt dɛn

Mixin we dɛn mek Paramita dɛn Aw fɔ yuz am
#translucent > .background() @color: @white, @alpha: 1 Gi wan ɛlimɛnt wan translucent bakgrɔn kɔlɔ
#translucent > .border() @color: @white, @alpha: 1 Gi wan ɛlimɛnt wan translucent bɔda kɔlɔ
#gradient > .vertical() @startColor, @endColor Krio wan kros-brauza vertikal bakgrɔn gradient
#gradient > .horizontal() @startColor, @endColor Krio wan kros-brauza ɔrizɔntal bakgrɔn grɛdiɛnt
#gradient > .directional() @startColor, @endColor, @deg Krio wan kros-brauza dairekshɔn bakgrɔn grɛdiɛnt
#gradient > .vertical-three-colors() @startColor, @midColor, @colorStop, @endColor Krio wan kros-brauza tri-kɔlɔ bakgrɔn gradient
#gradient > .radial() @innerColor, @outerColor Krio wan kros-brauza radial bakgrɔn grɛdiɛnt
#gradient > .striped() @color, @angle Krio wan kros-brauza strɛp bakgrɔn grɛdiɛnt
#gradientBar() @primaryColor, @secondaryColor Dɛn kin yuz am fɔ bɔtin dɛn fɔ asaynd wan gradient ɛn bɔda we dak smɔl
Notis: If yu de sɛn pul riŋwe to GitHub wit CSS we dɛn dɔn chenj, yu kɔmpilayt di CSS bak bay ɛni wan pan dɛn we ya.

Tul dɛn fɔ kɔmpilayt

Node wit mekfayl

Instɔl di LESS kɔmand layn kɔmpayla ɛn uglify-js glob ɔl wit npm bay we yu rɔn di kɔmand we de dɔŋ ya:

$ npm instɔl -g lɛs uglify-js

Wans yu don instɔl jɔs rɔn makefrɔm di rut fɔ yu bootstrap dairektrɔ ɛn yu ɔl dɔn sɛt.

Apat frɔm dat, if yu dɔn instɔl watchr , yu kin rɔn make watchfɔ mek dɛn bil bootstrap ɔtomɛtik wan ɛvri tɛm we yu ɛdit fayl na di bootstrap lib (dis nɔ nid, na jɔs wan kɔvinɛns we).

Kɔmand layn

Instɔl di LESS kɔmand layn tul via Node ɛn rɔn di kɔmand we de dɔŋ ya:

$ lessc ./lib/butstrap.lɛs > bɔtstrap.css

Mek shɔ se yu put --compressinsay da kɔmand de if yu de tray fɔ sev sɔm bayt dɛn!

JavaSkript fɔ di Baybul

Daunlod di laytst Less.js ɛn put di rod fɔ go de (ɛn Bootstrap) insay di <head>.

<link rel = "staylshit/lɛs" href = "/pat/to/bɔtstrap.lɛs" > <skript src = "/pat/to/lɛs.js" ></script>  
 

Fɔ kɔmpilayt di .less fayl dɛn bak, jɔs sev dɛn ɛn lod yu pej bak. Less.js de kɔmpilayt dɛn ɛn kip dɛn na lokal stɔrɔj.

Mac ap we nɔ gɛt ɔfishal wan

Di ɔnofishal Mac ap de wach dairektrɔ dɛn fɔ .less fayl dɛn ɛn kɔmpilayt di kɔd to lokal fayl dɛn afta ɛvri sev we dɛn dɔn sev .less fayl we dɛn wach.

If yu want, yu kin chenj di tin dɛn we yu lɛk na di ap fɔ mek yu ebul fɔ smɔl smɔl ɛn us dairektrɔ di fayl dɛn we dɛn dɔn kɔmpilayt kin dɔn insay.

Mɔ Mac ap dɛn

Krunch fɔ di wan dɛn we de

Crunch na wan fayn lukin LESS ɛditɔ ɛn kɔmpayla we dɛn bil pan Adobe Air.

KodKit fɔ di Baybul

Na di sem man we di ɔnofishal Mac ap mek am, CodeKit na Mac ap we de kɔmpilayt LESS, SASS, Stylus, ɛn CoffeeScript.

I nɔ simpul

Mac, Linux, ɛn PC ap fɔ drɛg ɛn drɔp kɔmpilayt fɔ LESS fayl dɛn. Plɛs, di sɔs kɔd de na GitHub .