Okukozesa LESS ne Bootstrap

Customize era okugaziya Bootstrap ne LESS , CSS preprocessor, okweyambisa enkyukakyuka, mixins, n'ebirala ebikozesebwa okuzimba Bootstrap's CSS.

Lwaki LESS?

Bootstrap ekoleddwa ne LESS ku musingi gwayo, olulimi lwa stylesheet olukyukakyuka olwakolebwa mukwano gwaffe omulungi, Alexis Sellier . Kifuula okukola CSS eyesigamiziddwa ku nkola okwangu, okwangu, era okusanyusa.

Kiki ekirimu?

Nga ekyongereza kya CSS, LESS erimu enkyukakyuka, mixins ez’ebitundutundu bya koodi ebiddamu okukozesebwa, emirimu gy’okubala okwangu, okuteeka ebisu, n’emirimu gya langi.

Manya ebisingawo

CSS ENTONO

Kyalira omukutu omutongole ku http://lesscss.org/ okumanya ebisingawo.

Enkyukakyuka ezikyukakyuka

Okuddukanya langi n’emiwendo gya pixel mu CSS kiyinza okuluma akatono, ebiseera ebisinga nga kijjudde okukoppa n’okuteeka. Si ne LESS wadde —gaba langi oba emiwendo gya pixel nga enkyukakyuka era ozikyuse omulundi gumu.

Ebirungo ebitabuddwa

Ezo ssatu border-radius declarations olina okukola mu regular ol' CSS? Kati zikka ku layini emu nga ziyambibwako mixins, snippets za code z'osobola okuddamu okukozesa wonna.

Ebikwekweto

Fuula grid yo, okukulembera, n'okusinga super flexible nga okola math ku fly n'emirimu. Kubisaamu, gabana, gattako, era oggyeko ekkubo lyo erigenda ku CSS sanity.

Ebiyungo ebiyitibwa Hyperlinks

@linkColor #08c Langi y'ebiwandiiko by'enkolagana eya bulijjo
@linkColorHover darken(@linkColor, 15%) Default link ekiwandiiko hover langi

Enkola ya grid

@gridColumns 12. 12
@gridColumnWidth 60px nga bwe kiri
@gridGutterWidth 20px nga bwe kiri
@fluidGridColumnWidth 6.382978723% nga bwe kiri.
@fluidGridGutterWidth 2.127659574% nga bwe kiri.

Okuwandiika ebitabo

@baseFontSize 13px nga bwe kiri
@baseFontFamily "Helvetica Neue", Helvetica, Arial, sans-serif
@baseLineHeight 18px nga bwe kiri

Langi za langi enzirugavu

@black #000
@grayDarker #222
@grayDark #333
@gray #555
@grayLight #999
@grayLighter #eee
@white #fff

Langi za ‘accent’

@blue #049cdb nga bwe kiri
@green #46a546 nga bwe kiri
@red #9d261d nga bwe kiri
@yellow #ffc40d nga bwe kiri
@orange #f89406 nga bwe kiri
@pink #c3325f
@purple #7a43b6 nga bwe kiri

Ebitundu ebikola omubiri

Ebikondo ebiyitibwa Buttons

@primaryButtonBackground @linkColor

Ffoomu

@placeholderText @grayLight

Navbar

@navbarHeight 40px nga bwe kiri
@navbarBackground @grayDarker
@navbarBackgroundHighlight @grayDark
@navbarText @grayLight
@navbarLinkColor @grayLight
@navbarLinkColorHover @white

Foomu embeera n’okulabula

@warningText #c09853 nga bwe kiri
@warningBackground #f3edd2
@errorText #b94a48 nga bwe kiri
@errorBackground #f2dede
@successText #468847 nga bwe kiri
@successBackground #dff0d8 nga bwe kiri
@infoText #3a87okulangirira
@infoBackground #d9edf7

Ebikwata ku mixins

Ebikozesebwa ebisookerwako (basic mixins).

Mixin enkulu mu bukulu ye include oba partial ku snippet ya CSS. Ziwandiikibwa nga kiraasi ya CSS era zisobola okuyitibwa wonna.

  1. . elementi { .
  2. . okutereeza obulungi ();
  3. } .

Ebikozesebwa mu kutabula (parametric mixins).

Parametric mixin eringa basic mixin, naye era ekkiriza parameters (wano we wava erinnya) n'emiwendo egy'enjawulo egy'okwesalirawo.

  1. . elementi { .
  2. . ensalosalo - radius ( 4px );
  3. } .

Kyangu okugattako ebibyo

Kumpi mixins zonna eza Bootstrap ziterekebwa mu mixins.less, fayiro ey’ekitalo ey’omugaso .less ekusobozesa okukozesa mixin mu fayiro yonna eya .less mu kitabo ky’ebikozesebwa.

Kale, genda mu maaso okozese ebiriwo oba wulira nga oli waddembe okugattako ebibyo nga bwe weetaaga.

Mulimu ebirungo ebiyitibwa mixins

Ebikozesebwa

Mixin Ebipimo (parameters). Enkozesa
.clearfix() tewali Okwongerako ku muzadde yenna okulongoosa floats munda
.tab-focus() tewali Kozesa omusono gw'okussa essira ku Webkit n'ensengeka ya Firefox eyeetooloovu
.center-block() tewali Auto center ekintu eky’omutendera gwa bulooka nga okozesamargin: auto
.ie7-inline-block() tewali Kozesa nga kwotadde ne bulijjo display: inline-blockokufuna obuwagizi bwa IE7
.size() @height: 5px, @width: 5px Teeka mangu obuwanvu n’obugazi ku layini emu
.square() @size: 5px Azimba ku .size()okuteeka obugazi n'obugulumivu nga omuwendo gwe gumu
.opacity() @opacity: 100 Teeka, mu namba enzijuvu, ebitundu ku kikumi eby'obutatangaavu (okugeza, "50" oba "75")

Ffoomu

Mixin Ebipimo (parameters). Enkozesa
.placeholder() @color: @placeholderText Teeka placeholderlangi y'ekiwandiiko ku biyingizibwa

Okuwandiika ebitabo

Mixin Ebipimo (parameters). Enkozesa
#font > #family > .serif() tewali Kola elementi okukozesa serif font stack
#font > #family > .sans-serif() tewali Kola elementi okukozesa sans-serif font stack
#font > #family > .monospace() tewali Kola elementi okukozesa monospace font stack
#font > .shorthand() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight Kyangu okuteeka sayizi y'empandiika, obuzito, n'okukulembera
#font > .serif() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight Teeka ekika ky'empandiika ku serif, era ofuge obunene, obuzito, n'okukulembera
#font > .sans-serif() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight Teeka ekika ky'empandiika ku sans-serif, era ofuge obunene, obuzito, n'okukulembera
#font > .monospace() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight Teeka ekika ky'empandiika ku kifo kimu, era ofuge obunene, obuzito, n'okukulembera

Enkola ya grid

Mixin Ebipimo (parameters). Enkozesa
.container-fixed() tewali Tonda ekintu ekiri wakati mu bbanga eky’okukwata ebirimu byo
#grid > .core() @gridColumnWidth, @gridGutterWidth Okukola enkola ya pixel grid (container, row, ne columns) nga erina empagi n ne x pixel wide gutter
#grid > .fluid() @fluidGridColumnWidth, @fluidGridGutterWidth Okukola enkola ya grid eya precent nga erina empagi n ne x % wide gutter

Ebintu bya CSS3

Mixin Ebipimo (parameters). Enkozesa
.border-radius() @radius: 5px Weetooloole enkoona za elementi. Kiyinza okuba omuwendo gumu oba emiwendo ena egyawuddwamu ebbanga
.box-shadow() @shadow: 0 1px 3px rgba(0,0,0,.25) Okwongerako ekisiikirize ekitonnya ku elementi
.transition() @transition Okwongerako CSS3 enkyukakyuka effect (okugeza, all .2s linear) .
.rotate() @degrees Zingulula elementi n diguli
.scale() @ratio Sikaani elementi okutuuka ku n emirundi n obunene bwayo obw’olubereberye
.translate() @x: 0, @y: 0 Tambuza elementi ku nnyonyi za x ne y
.background-clip() @clip Salako emabega w'ekintu (eky'omugaso eri border-radius) .
.background-size() @size Fuga obunene bw'ebifaananyi eby'emabega ng'oyita mu CSS3
.box-sizing() @boxmodel Kyusa ekifaananyi ky'ekibokisi ku elementi (okugeza, border-boxku full-width input) .
.user-select() @select Fuga cursor okulonda ebiwandiiko ku lupapula
.resizable() @direction: both Fuula elementi yonna ekyusibwa obunene ku ddyo ne wansi
.content-columns() @columnCount, @columnGap: @gridColumnGutter Fuula ebirimu mu elementi yonna okukozesa ennyiriri za CSS3

Ebifaananyi eby’emabega n’ebigenda mu maaso

Mixin Ebipimo (parameters). Enkozesa
#translucent > .background() @color: @white, @alpha: 1 Wa elementi langi y’emabega etangalijja
#translucent > .border() @color: @white, @alpha: 1 Wa elementi langi y’ensalosalo etangalijja
#gradient > .vertical() @startColor, @endColor Tonda ekifaananyi ky’emabega ekyesimbye eky’omusalaba-browser
#gradient > .horizontal() @startColor, @endColor Tonda ekifaananyi eky'omusalaba-browser horizontal background gradient
#gradient > .directional() @startColor, @endColor, @deg Tonda ekifaananyi eky’okusalako-browser eky’obulagirizi eky’emabega
#gradient > .vertical-three-colors() @startColor, @midColor, @colorStop, @endColor Tonda cross-browser eya langi ssatu gradient y'emabega
#gradient > .radial() @innerColor, @outerColor Tonda ekifaananyi kya cross-browser radial background gradient
#gradient > .striped() @color, @angle Tonda ekifaananyi eky’emabega eky’emisono egy’omusalaba-browser
#gradientBar() @primaryColor, @secondaryColor Ekozesebwa ku buttons okugaba gradient ne border enzirugavu katono
Note: Bw'oba oweereza okusaba okusika ku GitHub ne CSS ekyusiddwa, olina okuddamu okukung'aanya CSS ng'oyita mu nkola yonna ku zino.

Ebikozesebwa mu kukungaanya

Node nga eriko makefile

Teeka omukung'aanya w'ennyiriri z'ekiragiro LESS ne uglify-js mu nsi yonna ne npm ng'okola ekiragiro kino wammanga:

$ npm okuteeka -g ekitono uglify-js

Bw'omala okussaako dduka budduka makeokuva ku kikolo kya bootstrap directory yo era mwenna muba otegese.

Okugatta ku ekyo, bw’oba ​​olina watchr gy’ossaako, oyinza okudduka make watchokubeera ne bootstrap okuddamu okuzimbibwa mu ngeri ey’otoma buli lw’olongoosa fayiro mu bootstrap lib (kino tekikyetaagisa, nkola ya kukwanguyiza yokka).

Ennyiriri z’ekiragiro

Teeka ekintu kya LESS command line tool ng'oyita mu Node era okole ekiragiro kino wammanga:

$ lessc ./lib/okutandika.less > okutandika.css

Kakasa nti ossaamu --compressmu kiragiro ekyo bw'oba ogezaako okutereka bytes ezimu!

Javascript

Wano wefunire Less.js eyasembyeyo era oteekemu ekkubo erigenda mu yo (ne Bootstrap) mu <head>.

<link rel = "olupapula lw'omulembe/ekitono" href = "/ekkubo/okugenda/bootstrap.less" > <script src = "/ekkubo/okugenda/okutono.js" ></script>  
 

Okuddamu okukung’aanya fayiro za .less, omala kuzitereka n’oddamu okutikka omuko gwo. Less.js ezikuŋŋaanya n’ezitereka mu kutereka okw’omu kitundu.

App etali ntongole eya Mac

App ya Mac etali ntongole etunuulira dayirekita za fayiro za .less era ekuŋŋaanya koodi mu fayiro z’omu kitundu oluvannyuma lwa buli kutereka fayiro ya .less etunuuliddwa.

Bw’oba ​​oyagala, osobola okukyusakyusa by’oyagala mu app okusobola okukendeeza mu ngeri ey’otoma ne dayirekita ki fayiro ezikung’aanyiziddwa gye zikoma mu.

Apps endala eza Mac

Crunch nga bwe kiri

Crunch ye editor ne compiler ya LESS erabika obulungi ennyo eyazimbibwa ku Adobe Air.

CodeKit

Yatondebwawo ggaayi y’omu ne Mac app etali ntongole, CodeKit ye ​​Mac app ekuŋŋaanya LESS, SASS, Stylus, ne CoffeeScript.

Simpless

Mac, Linux, ne PC app ey'okusika n'okusuula okukung'aanya fayiro za LESS. Plus, source code eri ku GitHub .