使用lesscss来编码编写CSS

lesscss 是动态的样式表语言,他让css增加变量,组合,函数,运算等语法。这个项目的网站在国内访问不到,大家都懂的。这里只给出地址:http://www.lesscss.org/

使用lesscss来编码编写CSS

lesscss使用方法有两种:

◆ 页面添加一个 less.js的文件,css使用 style.less 文件后缀来编写,不过需要有服务器的环境支持

<link rel="stylesheet/less" type="text/css" href="styles.less">  



<script src="less.js" type="text/javascript"></script>  

◆ 在服务器端使用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版,这方面估计在不久的将来会改善

相关推荐