发布日期:2016-05-05 12:32:09

在制作响应式页面是Less非常简单和实用,语法和使用方法都可以参考官网文档和中文教程。

本文简单提要学习摘录:

Less最重要的几个概念:变量,样式扩展和混合

变量的主要几个作用

  1. 用来定义CSS规则的属性值
  2. 用来定义选择器的名称
  3. 用来定义URL
  4. 用来定义变量使用在import语句中
  5. 用来定义属性的名称
  6. 甚至可以用来定义另一个变量的名称

使用变量的时候要以下注意点:

  • 可以Lazy Load, 即定义申明的书写位置可以在实际引用的书写后面;“未申明先使用”
  • 变量有作用域,同一个作用域里如果定义同一个变量两次或多次,最后一次覆盖之前的值。即使用最后一次定义。不同作用域里同一变量名,最后引用值为从当前作用域开始向上查找,找到的第一个作用域中的有效变量为最终引用值。
  • 在引用变量值时,语法为@{变量名},在直接取值时可以只用使用@变量名
  • 变量没有默认值,根据覆盖原则,变量值跟一般的编程语言相比,是变而不变。即不可以过程式地动态地更改其值。因为其永远被最后一次申明覆盖。

样式扩展和规则嵌套(扩展)

样式扩展和规则嵌套可以减少很多代码编写,大大提高了样式的重用性,是一种面向样式对象的编程方式。

扩展的基本语法比较简单:通过:extend(选择器)。由于其有几种写法,可以分为下面几类:

  1. 显示式扩展(附属在选择器后的扩展方式): "选择器1:extend(选择器2, 选择器n, [all]) "
  2. 隐式扩展 (在样式规则内的扩展方式,不那么明显): “选择器{ &:extend(选择器,[all])}"  这里的&用来设定串联选择器(两个选择器样式同时应用在同一个元素上)。

样式扩展要注意的问题是:

  • 扩展对用变量定义的选择器名不生效,也不能扩展一个变量选择器。
  • 在使用@media媒体查询时,扩展只针对同一个媒体内的样式进行扩展。
  • 重复扩展并不会被处理

样式扩展的用途有下面几种情况:

  • 减少基类的使用。合并基类的样式到具体类中去。
  • 减少生产的CSS大小。相对混合来说生成的CSS会更小。
  • 合并style

混合(Mixins)

混合是将已有的样式混合进来到当前选择器中。

调用混合的语法中的圆括号是可以省略的。.class{.mix-in-x();} .class2{.mix-in-x;} 是一样的。

而定义混合样式时如果不希望输出该混合样式,则需要添加圆括号。 .mix-in(){ styles}

混合有几种:

  1. 无参数的混合
  2. 有参数的混合,既可以按参数顺序调用,也可以传递参数名称调用
  3. 有引导(guide)的混合

混合引用自身会产生循环

合并(merge)

合并是将相同属性的多个值合并到同一行。

需要显示式在属性名称后面添加+或+_

函数

Less除了提供了上面这些概念外,还提供了很多计算函数。

可以分为下面几类:

  • 字符串函数
  • 颜色函数
  • list函数
  • 数学公式函数
  • 类型判断函数
  • 还有一类其他的工具函数

 

 

 

发表评论