码迷,mamicode.com
首页 > Web开发 > 详细

使用less开发css

时间:2015-07-30 17:14:46      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:web前端   css   

最近在和小伙伴讨论如何高效的编写css代码的问题,于是我们想到了使用css的预处理语言。例如(less,sass等)。最后我们决定使用less(相对于其他css预处理语言更简单,语法更接近css)。


先说说什么是less?

简单的说,你可以在你的css文件中使用变量、函数等方式来编写你的css。

less具有哪些功能?

  • 混入(Mixins)——class中的class;
  • 参数混入——可以传递参数的class,就像函数一样;
  • 嵌套规则——Class中嵌套class,从而减少重复的代码;
  • 运算——CSS中用上数学;
  • 颜色功能——可以编辑颜色;
  • 名字空间(namespace)——分组样式,从而可以被调用;
  • 作用域——局部修改样式;
  • JavaScript 赋值——在CSS中使用JavaScript表达式赋值。

怎样在你的项目中使用less?


1.首先下载less.js
2.创建你的less文件,如index.less。
3.在你的中引入上面2个文件

rel="stylesheet/less" type="text/css" href="css/index.less"/>

这里要注意2点:一是link标签的rel属性必须是’stylesheet/less’,二是less.js必须在index.less之后引入。
现在你就可以正式体验less了。

1.嵌套

像嵌套html一样嵌套书写css

.wrap{background:@gray;padding:30px;h1{font:18px/2 ‘microsoft yahei’}}

2.混入

无须在html上添加多个class,只需要在css中就可以做到

.box2{.wrap}

3.参数混入

像js函数一样可以传递参数,无需重复书写css

1.比如需要css3的圆角效果首先定义一个类,圆角值作为参数传入,并设置5px的默认值:
.border(@a:5px){-webkit-border-radius:@a;-moz-border-radius:@a;border-radius:@a;}

2.使用:.box3{.border(20px)}

4.选择器继承

感觉这个功能跟混入有点类似,没多大用

5.运算

这个比较实用,使用数字或变量进行运算

@base_margin: 10px;

@double_margin: @base_margin * 2;

使用:.box5{.border(10px);border:@base_width / 2 solid #ccc}

6.color函数

lighten函数:通过百分比来减轻颜色;less还提供其他变暗或者调整颜色饱和度函数

lighten(@gray, 10%),实际上只显示 @gray 90%的颜色

其他功能就不一一介绍了,如果你想更详细的了解less,可以去网上搜索更多的资料。


less 的主要好处有三个:

  • 颜色 样式统一定义
所有用到的颜色 距离 都用变量的形式统一定义在一个文件中 其它的代码中不允许出现直接使用的颜色和像素值 必须使用定义好的变量
一些 css 规则组合定义为 mixin 在其它元素内部使用
增加可读性复用性降低维护难度
  • HTML/CSS 语义/样式 分离
得益于 层叠结构 mixin 命名空间的使用 完全实现 html 的语义化 不需要在 html 代码中加入样式信息
  • 提升开发效率
使用 less 让手写 css 变成一件愉快的是 不用受制于一层又一层复杂的 selector 结构 不用纠结于大段的重复代码 各种函数式编程的小技巧大幅提升 css 的灵活性 极简单的 import 方式也让多人开发与项目间的代码复用变得异常简单

版权声明:本文为博主原创文章,未经博主允许不得转载。

使用less开发css

标签:web前端   css   

原文地址:http://blog.csdn.net/u012763269/article/details/47150033

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!