less

less是一种动态样式语言,属于css预处理器的范畴,它扩展了 CSS 语言, 增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展 LESS既可以在客户端上运行 ,也可以借助Node.js在服务端运行

Less编译工具

koala

less中的注释

  • 以//开头的注释,不会被编译到css文件中

  • 以/**/包裹的注释会被编译到css文件中

grammar

variable

variable grammar

@width : 100px;
.w {
width: @width;
}

variable scope

@width : 1px;
.meng {
	@width : 2px;
	.long {
		@width : 90px;
		width:@width;
		@width : 22px;
	}
	width: @width;
}

字符串插值

selector插值

media query as variable

variable引用variable

Mixins

继承类名

带参数混合

隐藏属性继承

默认值混合

多参数混合

  • 多个参数可以使用分号戒者逗号分隔,这里推荐使用分号分隔,因为逗号有 两重含义:它既可以表示混合的参数,也可以表示一个参数中一组值的分隔 符

  • 使用分号作为参数分隔符意味着可以将逗号分隔的一组值作为一个变量处 理.换句话说,如果编译器在混合的定义戒者是调用中找到至少一个分号, 就会假设参数是使用分号分隔的,所有的逗号都属亍参数中的一组值的分隔 符

  • 2 个参数,每个参数都含有通过逗号分隔的一组值的情况:.name(1, 2, 3 ; something, else)

  • 3 个参数,每个参数叧含一个数字的情况:.name(1, 2, 3)

  • 使用一个象征性的分号可以创建一个叧含一个参数,但参数包含一组值的混 合:.name(1, 2, 3;)

  • 逗号分隔的一组值参数的默认值:.name(@param1: red, blue;)

@arguments

!important 关键字

高级参数用法

模式匹配与 Guard 表达式

也可以根据参数的数量迚行匹配

条件混合(guarded mixins)

通过 LESS 自带的函数判断

运算符判断

Guards 支持的运算符包括:> >= = =< <.说明一下,true 关键字是唯 一被判断为真的值,也就是这两个混合是相等的

多个条件

多个 Guards 可以通过逗号表示分隔,如果其中任意一个结果为 true,则匹配成 功

参数间比较

guard 中的 and

guard 中的 not

嵌套语法

&的用法

& 符号的使用 — 如果你想写串联选择器,而不是写后代选择器,就可以用到 &了.这点对伪类尤其有用如 :hover 和 :focus

&的高级用法

LESS 详解之命名空间

function

String

  • escape escape('a=1') => a%3D1

  • e

  • % format

  • replace

List

  • length

  • extract

  • range

  • each

Math

  • ceil、floor、round

  • percentage

  • sqrt、abs

  • sin、asin、cos、acos、tan、atan

  • pi、pow、mod

  • min、max

Type

  • isnumber

  • isstring

  • iscolor

  • iskeyword

  • isurl

  • ispixel

  • isem

  • ispercentage

  • isunit

  • isruleset

Misc

  • color

  • convert

  • data-uri

  • default

  • unit、getunit

  • image-size、image-width、image-height

  • svg-gradient

Color series

  • rgb、rgba

  • ....

function & operation

example

简单的圆角半径

四角的半径定制

Box Shadow

Transition

Transform

Linear Gradient

Quick Gradient

Webkit Reflection

互补色方案

颜色微调

递归案例

Last updated