在部分win8系統當中沒法安裝:javascript
解決辦法的是 已管理員權限運行cmd而後再按寫命令切換到安裝包目錄,直接命令執行css
檢測是否安裝完成 node –v 查看版本html
而後檢測 npm是否自帶 npm –v 查看版本java
lessc test.less test.css
,編譯成css官網 http://lesscss.org/node
中文網 (http://lesscss.cn/) http://www.1024i.com/demo/less/git
本質上,LESS 包含一套自定義的語法及一個解析器,用戶根據這些語法定義本身的樣式規則,這些規則最終會經過解析器,編譯生成對應的 CSS 文件。LESS 並無裁剪 CSS 原有的特性,更不是用來取代 CSS 的,而是在現有 CSS 語法的基礎上,爲 CSS 加入程序式語言的特性。github
自動:新建一個less文件,webstorm頂部會有提示是否監聽動態編譯,點擊yes,肯定web
手動:設置=》Tools=》File Watchers =》設置選項npm
file type:lesswindows
program:找到node中的lessc.cmd解析器
一、/註釋:在css當中可使用,全部編譯的過程中生成在css文件/ 二、//註釋:css不支持,不會編譯在css文件
三、必須寫好 @charset "UTF-8";在編譯,若是晚了就刪掉css從新編譯
一、必須@前綴,:是等於的意思,必須分號結束;
二、不能以數組開頭,不能包含特殊字符,區分大小寫
三、變量用於字符拼接使用方法
@mainColor:#e92323;
@className:box;
div{
background: @mainColor;
}
a:hover{
color: @mainColor;
}
.@{className}{
color: @mainColor;
}
xxxxxxxxxx
.w50{
width: 50%;
}
.f_left{
float: left;
}
.f_right{
float: right;
}
/*類混入*/
.w50-f_left{
.w50();
.f_left();
}
函數不會被翻譯成css,調用纔會
xxxxxxxxxx
.f_left(){
float: left;
}
.f_right(){
float: right;
}
參數能夠有默認值
xxxxxxxxxx
.w50(){
width: 50%;
}
.f(@direction:left){//給參數設置默認值
float: @direction;
}
.borderRadius(@width:100px){
border-radius: @width;
-webkit-border-radius:@width;
-moz-border-radius:@width;
-o-border-radius:@width;
-ms-border-radius:@width;
}
.w50-f_left{
.w50();//調用函數
.f(right);//調用函數
.borderRadius(20px);//調用函數
}
xxxxxxxxxx
.wjs_app{
display: block;
img{
display: none;
}
/*須要鏈接的狀況:&*/
&:hover{
img{
display: block;
position: absolute;
left: 50%;
margin-left:-60px;
border: 1px solid #ccc;
border-top: none;
top:40px;
z-index: 100000;
}
}
> div{
display: block;
}
}
已有一個banner.less
xxxxxxxxxx
@import "banner";
xxxxxxxxxx
@num:5;
ul{
width: 100%*@num;
li{
width: 100%/@num;//數值計算
color: red+yellow+blue;//顏色計算
background: gray*0.3;
/*內置函數*/
border-color: darken(red,20%);//內置函數
}
}
例子
xxxxxxxxxx
@back:#333;
.test{
border: 1px solid @back*2;
background: lighten(#000, 10%);
color:darken(#000, 10%);
}
escape(@string); // 經過 URL-encoding 編碼字符串
e(@string); // 對字符串轉義
%(@string, values...); // 格式化字符串
unit(@dimension, [@unit: ""]); // 移除或替換屬性值的單位
color(@string); // 將字符串解析爲顏色值
data-uri([mimetype,] url); // * 將資源內嵌到css中,可能回退到url()
ceil(@number); // 向上取整
floor(@number); // 向下取整
percentage(@number); // 將數字轉換爲百分比,例如 0.5 -> 50%
round(number, [places: 0]); // 四捨五入取整
sqrt(number); // * 計算數字的平方根
abs(number); // * 數字的絕對值
sin(number); // * sin函數
asin(number); // * arcsin函數
cos(number); // * cos函數
acos(number); // * arccos函數
tan(number); // * tan函數
atan(number); // * arctan函數
pi(); // * 返回PI
pow(@base, @exponent); // * 返回@base的@exponent次方
mod(number, number); // * 第一個參數對第二個參數取餘
convert(number, units); // * 在數字之間轉換
unit(number, units); // * 不轉換的狀況下替換數字的單位
color(string); // 將字符串或者轉義後的值轉換成顏色
rgb(@r, @g, @b); // 轉換爲顏色值
rgba(@r, @g, @b, @a); // 轉換爲顏色值
argb(@color); // 建立 #AARRGGBB 格式的顏色值
hsl(@hue, @saturation, @lightness); // 建立顏色值
hsla(@hue, @saturation, @lightness, @alpha); // 建立顏色值
hsv(@hue, @saturation, @value); // 建立顏色值
hsva(@hue, @saturation, @value, @alpha); // 建立顏色值
hue(@color); // 從顏色值中提取 hue 值(色相)
saturation(@color); // 從顏色值中提取 saturation 值(飽和度)
lightness(@color); // 從顏色值中提取 'lightness' 值(亮度)
hsvhue(@color); // * 從顏色中提取 hue 值,以HSV色彩空間表示(色相)
hsvsaturation(@color); // * 從顏色中提取 saturation 值,以HSV色彩空間表示(飽和度)
hsvvalue(@color); // * 從顏色中提取 value 值,以HSV色彩空間表示(色調)
red(@color); // 從顏色值中提取 'red' 值(紅色)
green(@color); // 從顏色值中提取 'green' 值(綠色)
blue(@color); // 從顏色值中提取 'blue' 值(藍色)
alpha(@color); // 從顏色值中提取 'alpha' 值(透明度)
luma(@color); // 從顏色值中提取 'luma' 值(亮度的百分比表示法)
saturate(@color, 10%); // 飽和度增長 10%
desaturate(@color, 10%); // 飽和度下降 10%
lighten(@color, 10%); // 亮度增長 10%
darken(@color, 10%); // 亮度下降 10%
fadein(@color, 10%); // 透明度增長 10%
fadeout(@color, 10%); // 透明度下降 10%
fade(@color, 50%); // 設定透明度爲 50%
spin(@color, 10); // 色相值增長 10
mix(@color1, @color2, [@weight: 50%]); // 混合兩種顏色
greyscale(@color); // 徹底移除飽和度,輸出灰色
contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]); // 若是 @color1 的 luma 值 > 43% 輸出 @darkcolor,不然輸出 @lightcolor
multiply(@color1, @color2);
screen(@color1, @color2);
overlay(@color1, @color2);
softlight(@color1, @color2);
hardlight(@color1, @color2);
difference(@color1, @color2);
exclusion(@color1, @color2);
average(@color1, @color2);
negation(@color1, @color2);
iscolor(@colorOrAnything); // 判斷一個值是不是顏色
isnumber(@numberOrAnything); // 判斷一個值是不是數字(可含單位)
isstring(@stringOrAnything); // 判斷一個值是不是字符串
iskeyword(@keywordOrAnything); // 判斷一個值是不是關鍵字
isurl(@urlOrAnything); // 判斷一個值是不是url
ispixel(@pixelOrAnything); // 判斷一個值是不是以px爲單位的數值
ispercentage(@percentageOrAnything); // 判斷一個值是不是百分數
isem(@emOrAnything); // 判斷一個值是不是以em爲單位的數值
isunit(@numberOrAnything, "rem"); // * 判斷一個值是不是指定單位的數值