之前項(xiàng)目用過(guò)Less,現(xiàn)在負(fù)責(zé)的項(xiàng)目也要使用,所以就總結(jié)下Less,也方便以后查看。本文主要是講瀏覽器端如何使用Less。
簡(jiǎn)介:LESS是一種由Alexis Sellier設(shè)計(jì)的動(dòng)態(tài)層疊樣式表語(yǔ)言。LESS 是開(kāi)源的,其第一個(gè)版本由Ruby寫(xiě)成,但在后續(xù)的版本當(dāng)中,Ruby逐漸被替換為JavaScript。受益于JavaScript,LESS可以在客戶端上運(yùn)行(IE6+、Webkit、Firefox),也可以在服務(wù)端運(yùn)行(Node.js、Rhino)。
本質(zhì)上,LESS 包含一套自定義的語(yǔ)法及一個(gè)解析器,用戶根據(jù)這些語(yǔ)法定義自己的樣式規(guī)則,這些規(guī)則最終會(huì)通過(guò)解析器,編譯生成對(duì)應(yīng)的 CSS 文件。LESS 并沒(méi)有裁剪 CSS 原有的特性,更不是用來(lái)取代 CSS 的,而是在現(xiàn)有 CSS 語(yǔ)法的基礎(chǔ)上,為 CSS 加入程序式語(yǔ)言的特性。你也可以再less文件中寫(xiě)按照css規(guī)則寫(xiě)樣式。
意義:改變傳統(tǒng)樣式的編寫(xiě)方式,以面向?qū)ο蟮姆绞骄帉?xiě),提高開(kāi)發(fā)效率。
引入LESS:首先,引入rel屬性的值是stylesheet/less的.less樣式表。如下:
在渲染HTML頁(yè)面時(shí),less文件需要編譯成css文件。我們可以有很多種方法。在服務(wù)器端,如Node.js,我們有專門(mén)的less編譯模塊。如果是在客戶端,需要從LESS官網(wǎng)下載less.js文件,然后在HTML頁(yè)面中引入,如下:
注意:
如果使用觀察模式,則配置參數(shù)的env為development。然后在Less.js文件加載之后調(diào)用less.watch(),如下:
注意:
如果啟動(dòng)了觀察模式,則瀏覽器會(huì)不斷請(qǐng)求less文件,根據(jù)Last-Modified參數(shù)判斷是否重新渲染頁(yè)面,這會(huì)造成很大的性能消耗,所以在線上不要開(kāi)啟觀察模式。如果是開(kāi)發(fā)環(huán)境,這方便了我們觀察效果。
完整demo:reset.less是重置瀏覽器默認(rèn)樣式,config.js是瀏覽器選項(xiàng)的配置參數(shù),如下:
config.js
less = { env: "development", // or "production" async: false, // load imports async fileAsync: false, // load imports async when in a page under // a file protocol poll: 1000, // when in watch mode, time in ms between polls functions: {}, // user functions, keyed by name dumpLineNumbers: "all", // "comment" or "mediaQuery" or "all" relativeUrls: false,// whether to adjust url's to be relative // if false, url's are already relative to the // entry less file rootpath: ":/"http:// a path to add on to the start of every url //resource};index.html
輸出的CSS文件。這有助于您調(diào)試,分析其中一個(gè)特定的規(guī)則是從哪里來(lái)的。
comments 選項(xiàng)用于輸出user-understandable內(nèi)容,
mediaquery 選項(xiàng)用于使用火狐插件解析css文件信息.
envType: String
Options: development or production
Default: depends on page URL
運(yùn)行環(huán)境,如果是production,你的css文件將被緩存到本地并且信息不會(huì)輸出到控制臺(tái)。如果url以file://開(kāi)頭或者在你本地或者沒(méi)有標(biāo)準(zhǔn)的端口,這都將被認(rèn)為是development模式。
例如:
less = { env: 'production' };
errorReportingType: String
Options: html|console|function
Default: html
設(shè)置編譯失敗時(shí)錯(cuò)誤報(bào)告的方法。
fileAsyncType: Boolean
Default: false
當(dāng)以file協(xié)議訪問(wèn)頁(yè)面,是否異步引入文件
functionsType: object
用戶自定義函數(shù)
e.g.
less = {
functions: {
myfunc: function() {
return new(less.tree.Dimension)(1);
}
}
};
可以像Less函數(shù)一樣使用它。
.my-class {
border-width: unit(myfunc(), px);
}
logLevelType: Number
Default: 2
在控制臺(tái)輸出日志的數(shù)量。如果是production環(huán)境,將不會(huì)輸出任何信息。
2 - Information and errors1 - Errors0 - Nothing
pollType: Integer
Default: 1000
在觀察模式下,測(cè)試的時(shí)間。
relativeUrlsType: Boolean
Default: false
使用相對(duì)路勁。如果設(shè)置FALSE,則url是相對(duì)根目錄文件。
globalVarsType: Object
Default: undefined
全局變量列表注入代碼。“字符串”類型的變量必須顯式地包含引號(hào)。
less.globalVars = { myvar: "#ddffee", mystr: "\"quoted\"" };
這個(gè)選項(xiàng)定義了一個(gè)可以被文件引用的變量。這個(gè)變量也可以在文件中重新定義。
modifyVarsType: Object
Default: undefined
Same format as globalVars.
與 globalVars參數(shù)含義相反,它將會(huì)在你文件最后定義,這意味著它將重寫(xiě)你在文件定義的。
rootpathType: String
Default: false
設(shè)置根目錄,所有的Less文件都會(huì)以這個(gè)目錄開(kāi)始。
useFileCacheType: Boolean
Default: true (previously false in before v2)
是否要使用每個(gè)會(huì)話文件緩存。緩存文件可以使用modifyVars,并且它不會(huì)再次檢索所有文件。如果您使用觀察模式或調(diào)用刷新加載設(shè)置為true,那么運(yùn)行之前緩存將被清除。聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
瀏覽器端Less_html/css_WEB-ITnose
瀏覽器端Less_html/css_WEB-ITnose:摘要: 之前項(xiàng)目用過(guò)Less,現(xiàn)在負(fù)責(zé)的項(xiàng)目也要使用,所以就總結(jié)下Less,也方便以后查看。本文主要是講瀏覽器端如何使用Less。 簡(jiǎn)介: LESS是一種由Alexis Sellier設(shè)計(jì)的動(dòng)態(tài)層疊樣式表語(yǔ)言。LESS 是開(kāi)源的,其第一個(gè)版本由Ruby寫(xiě)成,但在后續(xù)的版本當(dāng)中推薦度:
- 熱門(mén)焦點(diǎn)