Bootstrap LESS

2018-11-08 16:32 更新

Bootstrap LESS

簡介

Less 是一個 CSS 預(yù)處理器,讓 CSS 具有動態(tài)性。

另一方面,Bootstrap 是一個快速開發(fā) Web App 和站點的工具包。

在本教程中,我們將討論了有關(guān)使用帶有 Less CSS 的 Bootstrap 知識。這樣,您可以在 CSS 中使用 Bootstrap 的 Less 變量、混合(mixins)和嵌套( nesting)。

查看 Less 入門教程

獲取 Bootstrap 和 Less CSS

Bootstrap 官網(wǎng):http://getbootstrap.com/

Less 官網(wǎng):http://lesscss.org/

包含哪些內(nèi)容

下載 Bootstrap,解壓縮文件。Bootstrap 的 Less 組件位于 'lib' 目錄下。自 Bootstrap v1.4.0 版本起,就包含有九個 less 文件。下面我們一起來看看這九個文件分別包含什么。

bootstrap.less

這是主要的 Less 文件。該文件中導(dǎo)入了一些其他的 less 文件。該文件中沒有任何代碼。

forms.less

這個 Less 文件包含了表單布局、輸入框類型的樣式。

mixins.less

這個 Less 文件讓 CSS 代碼可重復(fù)使用。

patterns.less

這個 Less 文件包含了重復(fù)的用戶界面元素的 CSS 代碼,不會被位于 scaffolding Less 文件中的基本樣式覆蓋。

reset.less

這個 Less 文件包含了 CSS 重置。這是 Eric Meyer 的 CSS 重置的一個更新。一些 HTML 元素比如 dfn、samp 等的重置被免除。

scaffolding.less

這個 Less 文件保存了創(chuàng)建網(wǎng)格系統(tǒng)、結(jié)構(gòu)化布局、頁面模板所需的基本樣式。

tables.less

這個 Less 文件包含了創(chuàng)建表格的樣式。

type.less

這個 Less 文件下可找到排版相關(guān)的樣式。標(biāo)題、段落、列表、代碼等的樣式位于這個文件里邊。

variables.less

這個 Less 文件包含了要定制 Bootstrap 外觀和感觀的變量。

如何使用

如果要使用它,請在您的 HTML 頁面包含下面代碼:

<link rel="stylesheet/less" href="lib/bootstrap.less" media="all" />
<script src="js/less-1.1.5.min.js"></script>

請注意,less-1.1.5.min.js 不在 js 文件夾內(nèi),您需要下載并把它放置在指定的文件夾下。


LESS變量和變量值,以及用法指南

超鏈接

@linkColor #08c 默認(rèn)的鏈接顏色
@linkColorHover darken(@linkColor, 15%) 默認(rèn)懸停時的鏈接顏色

灰度色

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

強(qiáng)調(diào)色

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

按鈕

@primaryButtonBackground @linkColor

表單

@placeholderText @grayLight

導(dǎo)航欄

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

表單狀態(tài)和通知

@warningText #c09853
@warningBackground #f3edd2
@errorText #b94a48
@errorBackground #f2dede
@successText #468847
@successBackground #dff0d8
@infoText #3a87ad
@infoBackground #d9edf7

Bootstrap 混合

基本的混合

基本的混合從本質(zhì)上來說,就是包括整個或是部分代碼片段。寫法類似一個CSS類,可以隨處調(diào)用。

.element {
  .clearfix();
}

帶參數(shù)的混合

帶參數(shù)的混合和基本混合很像,不同之處是前者可以接收參數(shù)(根據(jù)名稱),參數(shù)可以有默認(rèn)值。

.element {
  .border-radius(4px);
}

易于定制

基本上Bootstrap所有的混合都保存在mixins.less, 這是一個出色的工具類.less文件,我們可以在任何一個.less文件中使用其中的混合。

因此,直接使用已有的混合或是自定義一個新混合皆可。

包含混合

實用工具

混合 參數(shù) 用法
.clearfix() 清除浮動
.tab-focus() 添加類似Webkit獲得焦點的風(fēng)格和類似Firefox的的外包線
.center-block() 使用margin: auto把塊級元素自動居中
.ie7-inline-block() 添加規(guī)則的 display: inline-block 以支持IE7
.size() @height: 5px, @width: 5px 快速設(shè)置行高和行寬
.square() @size: 5px 基于.size() 設(shè)置正方形區(qū)域
.opacity() @opacity: 100 設(shè)置透明度的百分比 (比如 "50" 或 "75")

表單

混合 參數(shù) 用法
.placeholder() @color: @placeholderText 設(shè)置輸入框中 placeholder 的字體顏色

排版

混合 參數(shù) 用法
#font > #family > .serif() 對某個元素應(yīng)用一系列serif襯線字體
#font > #family > .sans-serif() 對某個元素應(yīng)用一系列sans-serif字體
#font > #family > .monospace() 對某個元素應(yīng)用一系列monospace字體
#font > .shorthand() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight 方便設(shè)置字體大小,粗細(xì)和行間距
#font > .serif() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight 設(shè)置襯線字體族serif,字體大小,粗細(xì)和行間距
#font > .sans-serif() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight 設(shè)置sans-serif字體族,字體大小,粗細(xì)和行間距
#font > .monospace() @size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight 設(shè)置monospace字體族,字體大小,粗細(xì)和行間距

柵格系統(tǒng)

混合 參數(shù) 用法
.container-fixed() 創(chuàng)建一個水平居中的容器,用以容納內(nèi)容
#grid > .core() @gridColumnWidth, @gridGutterWidth 使用 n 列和 x 像素間距寬度,生成一個象素柵格系統(tǒng)(容器,行,列)
#grid > .fluid() @fluidGridColumnWidth, @fluidGridGutterWidth 使用 n 列和 x % 間距寬度,生成一個百分比柵格系統(tǒng)

CSS3屬性

混合 參數(shù) 用法
.border-radius() @radius: 5px 元素圓角化,可以是一個單獨的值,也可以分別是四個角的值
.box-shadow() @shadow: 0 1px 3px rgba(0,0,0,.25) 對元素應(yīng)用陰影
.transition() @transition 添加CSS3過渡效果(比如, all .2s linear)
.rotate() @degrees 旋轉(zhuǎn)一個元素 n
.scale() @ratio 對一個元素縮放原有大小的 n
.translate() @x: 0, @y: 0 在平面上移動x和y個像素
.background-clip() @clip 裁剪一個元素的背景 (用于 border-radius)
.background-size() @size 通過CSS3更改背景圖片的大小
.box-sizing() @boxmodel 改變一個元素的盒(box)模型 (比如,用在100%寬度 input 上的 border-box )
.user-select() @select 更改頁面文本的選擇光標(biāo)
.resizable() @direction: both 改變右下角坐標(biāo)以重置元素大小
.content-columns() @columnCount, @columnGap: @gridColumnGutter 讓元素中的內(nèi)容使用CSS3的列

背景和漸變

混合 參數(shù) 用法
#translucent > .background() @color: @white, @alpha: 1 設(shè)置一個元素的背景色和透明度
#translucent > .border() @color: @white, @alpha: 1 設(shè)置一個元素的邊框的顏色和透明度
#gradient > .vertical() @startColor, @endColor 創(chuàng)建一個跨瀏覽器的垂直背景漸變
#gradient > .horizontal() @startColor, @endColor 創(chuàng)建一個跨瀏覽器的水平背景漸變
#gradient > .directional() @startColor, @endColor, @deg 創(chuàng)建一個跨瀏覽器的有斜度的背景漸變
#gradient > .vertical-three-colors() @startColor, @midColor, @colorStop, @endColor 創(chuàng)建一個跨瀏覽器的三色背景漸變
#gradient > .radial() @innerColor, @outerColor 創(chuàng)建一個跨瀏覽器的放射背景漸變
#gradient > .striped() @color, @angle 創(chuàng)建一個跨瀏覽器的條紋背景漸變
#gradientBar() @primaryColor, @secondaryColor 用于給按鈕指定漸變背景和淺暗的邊框

如何編譯

帶有makefile的Node.js

運行下列命令,利用npm在全局環(huán)境下安裝LESS命令行編譯器和uglify-js:

$ npm install -g less uglify-js

安裝成功后,在您的Bootstrap的根目錄下運行 make 即可編譯CSS。

此外,如果您已經(jīng)安裝了 watchr ,您可以運行 make watch , 這樣您每次修改Bootstrap后,就會自動重編譯Bootstrap。(不是必須運行,這樣做僅僅是出于方便。)

使用 JavaScript

只需要簡單的引用 less.js 文件(下載最新的 Less.js )并重新加載頁面。

js 文件就會編譯 less。

<link rel="stylesheet/less" href="/path/to/bootstrap.less">
<script src="/path/to/less.js"></script>

命令行

如果您已經(jīng)安裝了 Less 命令行(Command Line),原型下面要編譯的命令:

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

如果您想要一個壓縮的編譯,可以使用 --compress 命令。

Less Mac app

雖然是非官方的,但是這里有一個可用的 Less Mac 應(yīng)用程序可用于編譯。

點擊這里,下載本教程中使用到的所有 HTML、CSS、JS 和圖片文件。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號