快速入門 Less(搬磚自日常百科)ヾ(????)?太好惹

快速入門

Less 是一門 CSS 預(yù)處理語言,它擴(kuò)充了 CSS 語言渴庆,增加了諸如變量铃芦、混合(mixin)、函數(shù)等功能襟雷,讓 CSS 更易維護(hù)刃滓、方便制作主題、擴(kuò)充耸弄。

Less 可以運(yùn)行在 Node咧虎、瀏覽器和 Rhino 平臺上。網(wǎng)上有很多第三方工具幫助你編譯 Less 源碼计呈。

實例:

@base: #f938ab;

.box-shadow(@style, @c) when (iscolor(@c)) {

? -webkit-box-shadow: @style @c;

? box-shadow:? ? ? ? @style @c;

}

.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {

? .box-shadow(@style, rgba(0, 0, 0, @alpha));

}

.box {

? color: saturate(@base, 5%);

? border-color: lighten(@base, 30%);

? div { .box-shadow(0 0 5px, 30%) }

}

編譯結(jié)果

.box {

? color: #fe33ac;

? border-color: #fdcdea;

}

.box div {

? -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);

? box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);

}

使用 Less

? ? Less 可以通過 npm 在命令行上運(yùn)行砰诵;在瀏覽器上作為腳本文件下載征唬;或者集成在廣大的第三方工具內(nèi)。請參考 用法 茁彭。

安裝

在服務(wù)器端最容易的安裝方式就是通過 npm (node.js 的包管理器)总寒,方法如下:

$ npm install -g less

命令行用法:

安裝 Less 后,就可以在命令行上調(diào)用 Less 編譯器了理肺,如下:

$ lessc styles.less

這將輸出編譯之后的 CSS 代碼到 stdout摄闸,你可以將輸出重定向到一個文件:

$ lessc styles.less > styles.css

若要輸出壓縮過的 CSS,只需添加 -x 選項妹萨。如果希望獲得更好的壓縮效果年枕,還可以通過 --clean-css 選項啟用 Clean CSS 進(jìn)行壓縮。

執(zhí)行 lessc 且不帶任何參數(shù)乎完,就會在命令行上輸出所有可用選項的列表熏兄。

代碼中使用

可以像下面這樣在代碼中調(diào)用 Less 編譯器(Node 平臺)。

var less = require('less');

less.render('.class { width: (1 + 1) }', function (e, css) {

? console.log(css);

});

輸出結(jié)果為:

.class {

? width: 2;

}

你還可以手動調(diào)用分析器(paser)和編譯器:

var parser = new(less.Parser);

parser.parse('.class { width: (1 + 1) }', function (err, tree) {

? if (err) {

? ? return console.error(err)

? }

? console.log(tree.toCSS());

});

配置

可以給編譯器傳遞多個參數(shù):

var parser = new(less.Parser)({

? paths: ['.', './lib'], // Specify search paths for @import directives

? filename: 'style.less' // Specify a filename, for better error messages

});

parser.parse('.class { width: (1 + 1) }', function (e, tree) {

? tree.toCSS({

? ? // Minify CSS output

? ? compress: true

? });

});

第三方工具

查看 用法 部分了解第三方工具的詳細(xì)信息囱怕。

Rhino 命令行

? ? 每個 less.js 發(fā)布版本同樣包含了 rhino-compatible 版本霍弹。

命令行 rhino 版本需要包含以下兩個文件:

? ? less-rhino-.js - 編譯執(zhí)行,

? ? lessc-rhino-.js - 命令行支持

命令行執(zhí)行編譯:

java -jar js.jar -f less-rhino-<version>.js lessc-rhino-<version>.js styles.less styles.css

以上將編譯 styles.less 文件并保存為 styles.css 文件。 輸出文件的參數(shù)是可選的娃弓,如果沒有指定該參數(shù)典格,less將默認(rèn)輸出到標(biāo)準(zhǔn)輸出中(stdout)。

客戶端用法

? ? 在瀏覽器上跑 less.js 非常方便開發(fā)台丛,但是不推薦用于生產(chǎn)環(huán)境耍缴。

在客戶端使用 Less.js 是最容易的方式,并且在開發(fā)階段很方便挽霉,但是防嗡,在生產(chǎn)環(huán)境中,性能和可靠性非常重要侠坎, 我們建議最好使用 node.js 或其它第三方工具進(jìn)行預(yù)編譯蚁趁。

那就開始吧,在頁面中加入 .less 樣式表的鏈接实胸,并將 rel 屬性設(shè)置為 "stylesheet/less":

<link rel="stylesheet/less" type="text/css" href="styles.less" />

接下來他嫡,下載 less.js 并通過 <script></script> 標(biāo)簽將其引入,放置于頁面的<head> 元素內(nèi):

<script src="less.js" type="text/javascript"></script>

提示

? ? 務(wù)必確保在 less.js 之前加載你的樣式表庐完。

? ? 如果加載多個 .less 樣式表文件钢属,每個文件都會被單獨編譯。因此门躯,一個文件中所定義的任何變量淆党、mixin 或命名空間都無法在其它文件中訪問 。

瀏覽器選項

在 <script src="less.js"></script> 之前 定義全局的 less 對象就可以為 Less.js 設(shè)置參數(shù):

<!-- set options before less.js script -->

<script>

? less = {

? ? env: "development",

? ? async: false,

? ? fileAsync: false,

? ? poll: 1000,

? ? functions: {},

? ? dumpLineNumbers: "comments",

? ? relativeUrls: false,

? ? rootpath: ":/a.com/"

? };

</script>

<script src="less.js"></script>

了解更多 瀏覽器選項

獲取 Less.js

瀏覽器下載

Download source code

直接從 GitHub 上下載最新的 Less.js 源碼。

Clone or fork via GitHub

通過 GitHub 克隆或 fork 本項目染乌!

通過 Bower 安裝

通過 Bower 安裝 Less.js 項目山孔,可以使用以下命令:

bower install less

Less CDN

<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/1.7.3/less.min.js"></script>

License FAQs

Less.js 基于 Apache 2 許可證發(fā)布(我們打算將來采用雙許可證方式)。版權(quán)所有 2009-2014荷憋,Alexis Sellier 和 Less 核心小組(見上面)饱须。總結(jié)如下:

賦予你的權(quán)力:

? ? 任意下載并使用 Less.js 的全部或部分代碼台谊,可以用于個人、公司內(nèi)部或商業(yè)目的

? ? 將 Less.js 包含到你的產(chǎn)品中

嚴(yán)禁:

? ? 在沒有聲明版權(quán)歸屬的情況下使用 Less.js 中的任何代碼片段

你的義務(wù):

? ? 如果你的產(chǎn)品中包含 Less.js譬挚,必須包含一份 Less.js 的版權(quán)協(xié)議

? ? 在你包含了 Less.js 的產(chǎn)品中明確聲明 Less.js 的版權(quán)歸 Less 核心小組

不需要:

? ? 在你的產(chǎn)品中包含 Less锅铅。js 自身或你所修改的源碼

? ? 提交你對 Less.js 所做的修改到 Less.js 項目(我們還是鼓勵提交對 Less.js 的改進(jìn))

完整的 Less.js 版權(quán)信息位于 項目倉庫內(nèi),請參考减宣。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盐须,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子漆腌,更是在濱河造成了極大的恐慌贼邓,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闷尿,死亡現(xiàn)場離奇詭異塑径,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)填具,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門统舀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人劳景,你說我怎么就攤上這事誉简。” “怎么了盟广?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵闷串,是天一觀的道長。 經(jīng)常有香客問我筋量,道長烹吵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任毛甲,我火速辦了婚禮年叮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玻募。我一直安慰自己只损,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著跃惫,像睡著了一般叮叹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爆存,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天蛉顽,我揣著相機(jī)與錄音,去河邊找鬼先较。 笑死携冤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闲勺。 我是一名探鬼主播曾棕,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼菜循!你這毒婦竟也來了翘地?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤癌幕,失蹤者是張志新(化名)和其女友劉穎衙耕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勺远,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡橙喘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了胶逢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渴杆。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宪塔,靈堂內(nèi)的尸體忽然破棺而出磁奖,到底是詐尸還是另有隱情,我是刑警寧澤某筐,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布比搭,位于F島的核電站,受9級特大地震影響南誊,放射性物質(zhì)發(fā)生泄漏身诺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一抄囚、第九天 我趴在偏房一處隱蔽的房頂上張望霉赡。 院中可真熱鬧,春花似錦幔托、人聲如沸穴亏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗓化。三九已至棠涮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刺覆,已是汗流浹背严肪。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留谦屑,地道東北人驳糯。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像氢橙,于是被迫代替她去往敵國和親结窘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 變量 注意你的less樣式文件一定要在引入less.js前先引入充蓝。 備注:請在服務(wù)器環(huán)境下使用!本地直接打開可能會...
    286f50208306閱讀 1,038評論 0 1
  • 學(xué)習(xí)Less-看這篇就夠了 前言 CSS的短板 預(yù)處理語言的誕生 其中 就我所知的有三門語言:Sass喉磁、Less ...
    DragonRat閱讀 588評論 1 4
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5谓苟? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,422評論 1 45
  • 呵呵呵~~不好意思還是俗套的穿越了协怒!運(yùn)氣簡直不能“太好”了袄员骸!估計是全身上下每個細(xì)胞都被水逆了孕暇!居然穿越到熱播劇《...
    gogo可樂閱讀 126評論 0 0
  • 老同學(xué)二胎兒子滿月大宴仑撞,邀請了不少同學(xué),獨獨對Y同學(xué)妖滔,他卻連發(fā)邀請的勇氣也沒有:免得她家變隧哮! Y同學(xué),中專畢業(yè)和一...
    蘋果藍(lán)貓閱讀 193評論 0 0