[Flex]用编程的方式来写CSS - LESS的应用(一)
详细请看:http://s.k-zone.cn/less1
我是一个Flex开发人员,因此就无法避免与HTML、Javascript、CSS打交道。
如果使用HTML + Javascript的话,我一般采用JQuery的方式,毕竟对于像我这样“半吊子”的Web开发者来说,JQuery是一个非常不错的选择。
但是对于CSS来说,就不是那么方便了,只能一点一点的写CSS。
无意中发现了一个比较有意思的应用:LESS。
那么什么是LESS呢?
简言之:使用编程的方法是来写CSS。
举例说明:
CSS方式:
#header { color: #4D926F; }
h2 { color: #4D926F; }
LESS方式:
@brand_color: #4D926F;
#header { color: @brand_color; }
h2 { color: @brand_color; }
是不是很简单?那么LESS如何使用和安装?
使用LESS需要有ruby的环境的支持!关于如何安装ruby,就不是本篇文章的内容了,具体大家可以G一下:)
当安装完ruby后,则需要安装lessc,地址:http://s.k-zone.cn/lessdown
编译方式: $lessc style.less style.css
LESS具有如下几种语法,我大致翻译一下,原文在:http://s.k-zone.cn/less
变量 (variables)
对不同地方同一个值进行变量描述,然后统一定义并且在需要的地方赋值。
CSS写法:
#header { color: #4D926F; }
h2 { color: #4D926F; }
LESS写法:
@brand_color: #4D926F;
#header { color: @brand_color; }
h2 { color: @brand_color; }
#header { color: @brand_color; }
h2 { color: @brand_color; }
引用(mixins)
在一个类中可以引用另一个类的名称做为该类的属性。(在这点上与variables有些相似,只不过variables定义的变量,而mixins定义的属性集合)
CSS写法:
#header { -moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
#footer {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
LESS写法:
.rounded_corners {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
#header {
.rounded_corners;
}
#footer {
.rounded_corners;
}
嵌套规则(nested rules)
将相同的内容放到一起,这样避免CSS块过长,不易阅读。
CSS写法:
#header {
color: red;
}
#header a {
font-weight: bold;
text-decoration: none;
}
LESS写法:
#header {
color: red;
a {
font-weight: bold;
text-decoration: none;
}
}
表达式(operations)
可以通过一些简单的计算来设定属性。
CSS写法:
#header {
color: #333;
border-left: 1px;
border-right: 2px;
}
#footer {
color: #222;
}
LESS写法:
@the-border: 1px;
@base-color: #111;
#header {
color: @base-color * 3;
border-left: @the-border;
border-right: @the-border * 2;
}
#footer {
color: @base-color + #111;
}
注释:其中@the-border和@base-color使用了变量 (variables)方式。
使用上述四种就可以大大简化你的CSS开发了。是不是很简单呢?