使用lesscss来动态编写CSS
达人看了这文才知道原来CSS也可以这样子动态的化的,就是使用lesscss的JS文件来实现,原文:
lesscss 是动态的样式表语言,他让css增加变量,组合,函数,运算等语法。这个项目的网站在国内访问不到,大家都懂的。这里只给出地址:http://www.lesscss.org/ 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版,这方面估计在不久的将来会改善
3.编辑器,ide对lesscss语法缩进支持不够友好。
原文:http://www.cnblogs.com/qiangji/archive/2011/08/01/lesscss.html
版权:除非注明,本站文章均为原创文章,转载请联系我们授权,否则禁止转载。
受学习了,原来写css还可以学这么多,好!!!