您的位置:首页 > 其它

今天的less学习心得

2013-04-21 00:00 274 查看
官方网站:http://www.lesscss.net/#-pattern-matching-and-guard-expressions

检查编译自己的less代码网站:http://less.cnodejs.net/#

先贴段代码,等会儿在总结

@color:#f00;

body{
#nev{
background-color:@color*2;
}
a{
font-size:12px;
&:hover{
font-size:14px;
};
}
.h6(){
border-radius:#fff;
}
pre{.h6()}
}

//编译后的代码
body #nev {
background-color: #ff0000;
}
body a {
font-size: 12px;
}
body a:hover {
font-size: 14px;
}
body pre {
border-radius: #fff;
}

其实less很简单,不需要解释,看代码就能懂了,只有那么几个功能,而且还和其它的语言有相同的地方。

1、局部变量

@color:#443311;
#header{
color:@color;
}

//编译后的css
#header {
color: #443311;
}

2、混合(个人理解为局部变量传参也觉得可以叫做方法定义)

.class(@radiu){
border-radiu:@radiu;
}
pre{
.class(5px);
}

//编译后的代码
pre {
border-radiu: 5px;
}

3、嵌套

body{
h3{
color:#4400dd;
}
p{
font-size:12px;

.text{
color:#555;
}
}
}

//编译后的代码
body h3 {
color: #4400dd;
}
body p {
font-size: 12px;
}
body p .text {
color: #555;
}

4、函数与操作符

@color:#33ff00;
#headr{
color:@color *3;
}

//编译后的代码
#headr {
color: #99ff00;
}

5、函数重载(为个人的理解)——Pattern-matching and Guard expressions

.mixin(red,@color){
background-color:@color;
}
.mixin(blue,@color){
background-color:@color;
}
.class{
.mixin(red,"#f00");
}

//编译后的代码
.class {
background-color: "#f00";
}

6、函数

这个比较多,就贴图官方文档的API了

escape(@string);                             // 通过 URL-encoding 编码字符串

unit(@dimension, [@unit: ""]);               // 移除或替换属性值的单位
color(@string);                              // 将字符串解析为颜色值

ceil(@number);                               // 向上取整
floor(@number);                              // 向下取整
percentage(@number);                         // 将浮点数转换为百分比,例如 0.5 -> 50%
round(number, [places: 0]);                  // 四舍五入取整

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' 值
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);

还是贴一个使用的例子

.mixin(dark,@color){
color:darken(@color,10%);
}
.header{
.mixin(dark,#f00);
}

//编译后的代码
.header {
color: #cc0000;
}

7、&符号(串联选择器)

a{
font-size:14px;
&:hover{
font-size:12px;
}
}

//编译后
a {
font-size: 14px;
}
a:hover {
font-size: 12px;
}
所谓的串联选择器,就是指把&符号里的样式,串连在父样式上,并行

9、引入

一般是在一个mian.less中引入其他的less

@import "less/myless"//引入的文件为myless.less,其中可以省略后坠,当然也可以不用省略
@import "css/mycss.css"//引入外部的css文件

10、字符串插值

@url:"www.noin.cn";
background-image:url("@{url}/img/head.png");

//编译后
background-image: url("www.noin.cn/img/head.png");
很好了,今天大致的less心得就写这么多吧,明天就要用一上午的时间看完coffeescript;这个也是一个神器啊...简化js的语言,本来想要把
zonda的学习心得写下来的,但是还是觉得自己也就能写一点皮毛,还是请大家去官网看一下吧,其实安装zonda我就装nodejs都装了2天还没装上,都觉得自己好笨哦。
加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: