بوت استرپ را با LESS ، یک پیش پردازنده CSS، سفارشی و گسترش دهید تا از متغیرها، میکسین ها و موارد دیگر که برای ساختن CSS بوت استرپ استفاده می شود، استفاده کنید.
بوت استرپ با LESS در هسته خود ساخته شده است، یک زبان صفحه سبک پویا که توسط دوست خوب ما، Alexis Sellier ایجاد شده است. توسعه CSS مبتنی بر سیستم را سریعتر، آسانتر و سرگرمکنندهتر میکند.
به عنوان یک توسعه CSS، LESS شامل متغیرها، میکسین ها برای تکه های کد قابل استفاده مجدد، عملیات برای ریاضیات ساده، تو در تو و حتی توابع رنگی است.
مدیریت رنگ ها و مقادیر پیکسل در CSS می تواند کمی دردسرساز باشد، معمولاً پر از کپی و چسباندن. البته نه با LESS - رنگ ها یا مقادیر پیکسل را به عنوان متغیر اختصاص دهید و یک بار آنها را تغییر دهید.
آن سه اعلان شعاع مرزی که باید در CSS معمولی انجام دهید؟ اکنون با کمک میکسها به یک خط رسیدهاند، تکههایی از کد که میتوانید در هر جایی دوباره از آنها استفاده کنید.
با انجام محاسبات در حین انجام عملیات، شبکه خود را پیشرو، و فوق العاده انعطاف پذیرتر کنید. ضرب، تقسیم، اضافه، و کم کردن راه خود را به CSS sanity.
@bodyBackground |
@white |
رنگ پس زمینه صفحه | |
@textColor |
@grayDark |
رنگ متن پیشفرض برای کل بدنه، عنوانها و موارد دیگر | |
@linkColor |
#08c |
رنگ متن پیوند پیشفرض | |
@linkColorHover |
darken(@linkColor, 15%) |
رنگ شناور متن پیوند پیشفرض |
@gridColumns |
12 |
@gridColumnWidth |
60 پیکسل |
@gridGutterWidth |
20 پیکسل |
@fluidGridColumnWidth |
6.382978723٪ |
@fluidGridGutterWidth |
2.127659574% |
@sansFontFamily |
"Helvetica Neue"، Helvetica، Arial، sans-serif | |
@serifFontFamily |
Georgia, "Times New Roman", Times, serif |
|
@monoFontFamily |
Menlo، موناکو، "Courier New"، monospace | |
@baseFontSize |
13 پیکسل | باید پیکسل باشد |
@baseFontFamily |
@sansFontFamily |
|
@baseLineHeight |
18 پیکسل | باید پیکسل باشد |
@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 پیکسل | |
@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 |
یک میکسین پایه اساسا یک شامل یا جزئی برای یک قطعه از CSS است. آنها درست مانند یک کلاس CSS نوشته شده اند و می توان آنها را در هر جایی فراخوانی کرد.
- . عنصر {
- . clearfix ();
- }
یک میکس پارامتریک درست مانند یک میکس پایه است، اما پارامترها (از این رو نام) با مقادیر پیش فرض اختیاری را نیز می پذیرد.
- . عنصر {
- . حاشیه - شعاع ( 4 پیکسل )؛
- }
تقریباً تمام میکسهای Bootstrap در mixins.less ذخیره میشوند، یک فایل کاربردی فوقالعاده .less که به شما امکان میدهد از یک mixin در هر یک از فایلهای .less در جعبه ابزار استفاده کنید.
بنابراین، ادامه دهید و از موارد موجود استفاده کنید یا در صورت نیاز خود را اضافه کنید.
مخلوط کن | مولفه های | استفاده |
---|---|---|
.clearfix() |
هیچ یک | اضافه کردن به هر پدر و مادر برای پاک کردن شناور در داخل |
.tab-focus() |
هیچ یک | سبک فوکوس Webkit را اعمال کنید و طرح کلی فایرفاکس را گرد کنید |
.center-block() |
هیچ یک | وسط خودکار یک عنصر در سطح بلوک با استفاده ازmargin: auto |
.ie7-inline-block() |
هیچ یک | display: inline-block برای دریافت پشتیبانی از IE7 علاوه بر معمول استفاده کنید |
.size() |
@height @width |
به سرعت ارتفاع و عرض را روی یک خط تنظیم کنید |
.square() |
@size |
.size() برای تنظیم عرض و ارتفاع به عنوان یک مقدار ایجاد می شود |
.opacity() |
@opacity |
درصد شفافیت را در اعداد کامل تنظیم کنید (به عنوان مثال، "50" یا "75") |
مخلوط کن | مولفه های | استفاده |
---|---|---|
.placeholder() |
@color: @placeholderText |
placeholder رنگ متن را برای ورودی ها تنظیم کنید |
مخلوط کن | مولفه های | استفاده |
---|---|---|
#font > #family > .serif() |
هیچ یک | یک عنصر را با استفاده از پشته قلم سریف بسازید |
#font > #family > .sans-serif() |
هیچ یک | ایجاد یک عنصر با استفاده از پشته قلم sans-serif |
#font > #family > .monospace() |
هیچ یک | یک عنصر را از پشته فونت monospace استفاده کنید |
#font > .shorthand() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
اندازه فونت، وزن و پیشرو را به راحتی تنظیم کنید |
#font > .serif() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
خانواده فونت ها را روی سریف تنظیم کنید و اندازه، وزن و پیشرو را کنترل کنید |
#font > .sans-serif() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
خانواده فونت را روی sans-serif تنظیم کنید و اندازه، وزن و پیشرو را کنترل کنید |
#font > .monospace() |
@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight |
خانواده فونت را روی monospace تنظیم کنید و اندازه، وزن و صفحه اصلی را کنترل کنید |
مخلوط کن | مولفه های | استفاده |
---|---|---|
.container-fixed() |
هیچ یک | یک ظرف در مرکز افقی برای نگهداری محتوای خود ایجاد کنید |
#grid > .core() |
@gridColumnWidth, @gridGutterWidth |
ایجاد یک سیستم شبکه پیکسلی (کانتینر، ردیف و ستون) با n ستون و x پیکسل ناودان گسترده |
#grid > .fluid() |
@fluidGridColumnWidth, @fluidGridGutterWidth |
یک سیستم شبکه پیشین با n ستون و x % ناودان پهن ایجاد کنید |
#grid > .input() |
@gridColumnWidth, @gridGutterWidth |
سیستم شبکه پیکسلی را برای input عناصر، محاسبه لایه ها و حاشیه ها ایجاد کنید |
.makeColumn |
@columns: 1, @offset: 0 |
هر کدام div را به یک ستون شبکه بدون .span* کلاس تبدیل کنید |
مخلوط کن | مولفه های | استفاده |
---|---|---|
.border-radius() |
@radius |
گوشه های یک عنصر را گرد کنید. می تواند یک مقدار واحد یا چهار مقدار جدا شده با فاصله باشد |
.box-shadow() |
@shadow |
یک سایه به یک عنصر اضافه کنید |
.transition() |
@transition |
افکت انتقال CSS3 را اضافه کنید (به عنوان مثال، all .2s linear ) |
.rotate() |
@degrees |
یک عنصر را n درجه بچرخانید |
.scale() |
@ratio |
یک عنصر را به n برابر اندازه اصلی آن تغییر دهید |
.translate() |
@x, @y |
یک عنصر را روی صفحات x و y حرکت دهید |
.background-clip() |
@clip |
برش پس زمینه یک عنصر (مفید برای border-radius ) |
.background-size() |
@size |
اندازه تصاویر پس زمینه را از طریق CSS3 کنترل کنید |
.box-sizing() |
@boxmodel |
مدل جعبه را برای یک عنصر تغییر دهید (مثلاً border-box برای یک عرض کامل input ) |
.user-select() |
@select |
کنترل انتخاب مکان نما از متن در یک صفحه |
.backface-visibility() |
@visibility: visible |
هنگام استفاده از تبدیل های سه بعدی CSS از سوسو زدن محتوا جلوگیری کنید |
.resizable() |
@direction: both |
هر عنصر را در سمت راست و پایین قابل تغییر اندازه کنید |
.content-columns() |
@columnCount, @columnGap: @gridGutterWidth |
محتوای هر عنصر را از ستون های CSS3 استفاده کنید |
مخلوط کن | مولفه های | استفاده |
---|---|---|
#translucent > .background() |
@color: @white, @alpha: 1 |
به یک عنصر رنگ پسزمینه شفاف بدهید |
#translucent > .border() |
@color: @white, @alpha: 1 |
به یک عنصر رنگ حاشیه نیمه شفاف بدهید |
#gradient > .vertical() |
@startColor, @endColor |
یک گرادیان پس زمینه عمودی بین مرورگر ایجاد کنید |
#gradient > .horizontal() |
@startColor, @endColor |
یک گرادیان پس زمینه افقی بین مرورگر ایجاد کنید |
#gradient > .directional() |
@startColor, @endColor, @deg |
یک گرادیان پس زمینه جهت دار بین مرورگر ایجاد کنید |
#gradient > .vertical-three-colors() |
@startColor, @midColor, @colorStop, @endColor |
یک گرادیان پس زمینه سه رنگ متقابل مرورگر ایجاد کنید |
#gradient > .radial() |
@innerColor, @outerColor |
یک گرادیان پس زمینه شعاعی بین مرورگر ایجاد کنید |
#gradient > .striped() |
@color, @angle |
یک گرادیان پس زمینه راه راه متقابل مرورگر ایجاد کنید |
#gradientBar() |
@primaryColor, @secondaryColor |
برای دکمههایی استفاده میشود تا یک مرز شیب و کمی تیرهتر تعیین کنند |
با اجرای دستور زیر، کامپایلر خط فرمان LESS و uglify-js را به صورت سراسری با npm نصب کنید:
$ npm install -g less uglify-js
پس از نصب فقط make
از ریشه دایرکتوری بوت استرپ خود را اجرا کنید و همه چیز آماده است.
علاوه بر این، اگر واچر را نصب کردهاید، ممکن است make watch
هر بار که فایلی را در فهرست راهانداز ویرایش میکنید، بوت استرپ را بهطور خودکار بازسازی کنید (این مورد نیاز نیست، فقط یک روش راحت است).
ابزار خط فرمان LESS را از طریق Node نصب کنید و دستور زیر را اجرا کنید:
$ lessc ./less/bootstrap.less > bootstrap.css
اگر میخواهید مقداری بایت ذخیره کنید، حتماً --compress
آن دستور را وارد کنید!
آخرین نسخه Less.js را دانلود کنید و مسیر دسترسی به آن (و Bootstrap) را در قسمت وارد <head>
کنید.
<link rel = "stylesheet/less" href = "/path/to/bootstrap.less" > <script src = "/path/to/less.js" ></script>
برای کامپایل مجدد فایل های .less، کافی است آنها را ذخیره کنید و صفحه خود را مجدداً بارگیری کنید. Less.js آنها را کامپایل کرده و در حافظه محلی ذخیره می کند.
برنامه غیررسمی Mac فهرستهای فایلهای .less را تماشا میکند و پس از هر ذخیره فایل .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.