在制作响应式页面是Less非常简单和实用,语法和使用方法都可以参考官网文档和中文教程。
本文简单提要学习摘录:
Less最重要的几个概念:变量,样式扩展和混合
变量的主要几个作用:
- 用来定义CSS规则的属性值
- 用来定义选择器的名称
- 用来定义URL
- 用来定义变量使用在import语句中
- 用来定义属性的名称
- 甚至可以用来定义另一个变量的名称
使用变量的时候要以下注意点:
- 可以Lazy Load, 即定义申明的书写位置可以在实际引用的书写后面;“未申明先使用”
- 变量有作用域,同一个作用域里如果定义同一个变量两次或多次,最后一次覆盖之前的值。即使用最后一次定义。不同作用域里同一变量名,最后引用值为从当前作用域开始向上查找,找到的第一个作用域中的有效变量为最终引用值。
- 在引用变量值时,语法为@{变量名},在直接取值时可以只用使用@变量名
- 变量没有默认值,根据覆盖原则,变量值跟一般的编程语言相比,是变而不变。即不可以过程式地动态地更改其值。因为其永远被最后一次申明覆盖。
样式扩展和规则嵌套(扩展):
样式扩展和规则嵌套可以减少很多代码编写,大大提高了样式的重用性,是一种面向样式对象的编程方式。
扩展的基本语法比较简单:通过:extend(选择器)。由于其有几种写法,可以分为下面几类:
- 显示式扩展(附属在选择器后的扩展方式): "选择器1:extend(选择器2, 选择器n, [all]) "
- 隐式扩展 (在样式规则内的扩展方式,不那么明显): “选择器{ &:extend(选择器,[all])}" 这里的&用来设定串联选择器(两个选择器样式同时应用在同一个元素上)。
样式扩展要注意的问题是:
- 扩展对用变量定义的选择器名不生效,也不能扩展一个变量选择器。
- 在使用@media媒体查询时,扩展只针对同一个媒体内的样式进行扩展。
- 重复扩展并不会被处理
样式扩展的用途有下面几种情况:
- 减少基类的使用。合并基类的样式到具体类中去。
- 减少生产的CSS大小。相对混合来说生成的CSS会更小。
- 合并style
混合(Mixins)
混合是将已有的样式混合进来到当前选择器中。
调用混合的语法中的圆括号是可以省略的。.class{.mix-in-x();} .class2{.mix-in-x;} 是一样的。
而定义混合样式时如果不希望输出该混合样式,则需要添加圆括号。 .mix-in(){ styles}
混合有几种:
- 无参数的混合
- 有参数的混合,既可以按参数顺序调用,也可以传递参数名称调用
- 有引导(guide)的混合
混合引用自身会产生循环
合并(merge)
合并是将相同属性的多个值合并到同一行。
需要显示式在属性名称后面添加+或+_
函数
Less除了提供了上面这些概念外,还提供了很多计算函数。
可以分为下面几类:
- 字符串函数
- 颜色函数
- list函数
- 数学公式函数
- 类型判断函数
- 还有一类其他的工具函数