文章简介:lesscss 是动态的样式表语言,他让css增加变量,组合,函数,运算等语法。这个项目的网站在国内访问不到,大家都懂的。 |
lesscss 是动态的样式表语言,他让css增加变量,组合,函数,运算等语法。这个项目的网站在国内访问不到,大家都懂的。
lesscss使用方法有两种:
1.页面添加一个 less.js的文件,css使用 style.less 文件后缀来编写,不过需要有服务器的环境支持
<link rel="stylesheet/less" type="text/css" href="styles.less">
<script src="less.js" type="text/javascript"></script>
2.在服务器端使用node.js来编译,node.js 使用 less的方法如下:
先使用npm包管理器来安装
$ npm install less
然后就可以使用命令行来编译压缩less代码了
$ lessc styles.less > styles.css
下面是一些lesscss的语法:
使用变量
// LESS
@color: #4D926F;
#header {
color: @color;
}
h2 {
color: @color;
}
/* Compiled CSS */
#header {
color: #4D926F;
}
h2 {
color: #4D926F;
}
2.组合
// LESS
.rounded-corners (@radius: 5px) {
border-radius: @radius;
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
}
#header {
.rounded-corners;
}
#footer {
.rounded-corners(10px);
}
/* Compiled CSS */
#header {
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
#footer {
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
3.选择器
// LESS
#header {
h1 {
font-size: 26px;
font-weight: bold;
}
p { font-size: 12px;
a { text-decoration: none;
&:hover { border-width: 1px }
}
}
}
/* Compiled CSS */
#header h1 {
font-size: 26px;
font-weight: bold;
}
#header p {
font-size: 12px;
}
#header p a {
text-decoration: none;
}
#header p a:hover {
border-width: 1px;
}
4. 变量预算
// LESS
@the-border: 1px;
@base-color: #111;
@red: #842210;
#header {
color: @base-color * 3;
border-left: @the-border;
border-right: @the-border * 2;
}
#footer {
color: @base-color + #003300;
border-color: desaturate(@red, 10%);
}
/* Compiled CSS */
#header {
color: #333;
border-left: 1px;
border-right: 2px;
}
#footer {
color: #114411;
border-color: #7d2717;
}
5. import 外部css
@import "lib.less";
@import "lib";
通用引用了lesscss,我们就可以将css写得模块化,有更好的阅读性。
首先可以通过 import 讲网站的样式分成 n个模块,当页面需要哪个模块就引用哪个。还可以将css3那些新增的功能定义成类库,由于有函数的功能,那些圆角,阴影之类样式只需要定义一次就可以了。讲页面需要使用到的主要文本,边框,背景色定义成变量给后续样式使用,到时网站风格需要改变,颜色也很好的修改。
我个人觉得先阶段lesscss的不足有:
1. css3的样式不能自动补全其他浏览器的hack。
2.使用nodejs在window系统下的支持不够,不过最近刚刚不久发布了一个nodejs window版,这方面估计在不久的将来会改善
3.编辑器,ide对lesscss语法缩进支持不够友好。