什么是less?
less是一种动态样式语言,属于css预处理语言的一种,类似于css的语法,为css赋予了动态语言的特性,如变量、继承,运算,函数等,更方便css的编写和维护
编译工具
- Koala编译
- 国人开发的less/sass编译工具、
- 下载地址: http://koala-app.com/index-zh.html
- 常用: 输出方式compress(进行压缩)
- Node.js库
- 浏览器端使用
Koala配置及使用
新建后缀为.less文件:index.less
头部写上:@charset “utf-8”; //设定字符集把文件夹拖到koala中,设置输出路径为style下的index.css
使用koala进行编译,然后就生成了一个index.css文件。之后我们只要编辑index.less文件即可。
项目中常用的语言特性
注释
less有两种注释
less中声明变量用@开头,例:@变量名:值;
less源码:12@margin-left:30px;box{margin: margin-left;}
编译后的css
混合模式(Mixins)
混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性。我们还可以带参数地调用,就像使用函数一样。
|
|
匹配模式:
有点像switch或者if 判断
满足哪个条件就用哪一个。 其他的就是混合。@_ : ,这个很强大:无论匹配到什么值,均会运行,类似于成全局了(函数名一致)
|
|
运算
任何数字,颜色或者变量都可以参与运算,运算应该包裹在括号里
例如+ - * /
|
|
嵌套规则
& 代表上一层选择器
- 用处1:
123 a{&:hover{}};
- 用处2:123.content{&_item1{ }} //&_item1就相当于。content_item1
|
|
& 代表他的上一层选择器
12345678//& 代表他的上一层选择器a{float: left;//& 代表上一层选择器&:hover{color: red;}}&同样代表他的上一层选择器,起连接作用
123456789101112131415161718//嵌套小例子//HTML<div class="content"><div class="content_item1"></div><div class="content_item2"></div></div>//LESS.content{width: 40px;height: 40px;background: #ccc;&_item1{ //&_item1就相当于。content_item1width: 20px;height: 20px;background: pink;}}@arguments变量(用的不是很多)懒人必备
@arguments包含了所有传递进来的参数。
123456789101112@border(@w:30px,@c:red,@s:solid){border:@w @c @s}//如果你不想单独处理每一个参数的话就可以像这样写:.border_arg(@w:30px,@c:red,@ww:solid){border:@arguments;//这个@arguments就相当于@w,@c,@s 包含所有参数}//调用.test_arguments{.border_arg(40px);}
封装
- 可以把封装的东西放到一个单独的 less里面,只需要在main.less主文件里面 @import 加文件名 xx 可以省略后缀名.
- 加载css需要 @import(less) “xxx.css”换汤不换药 其中“”前面有一个空格 还是css那一套加载方式,放到哪里就在哪里加载,样式表!
123 //引入a.less和a.css例子@import "a.less"; //引入其他的less样式表,其中.less可写可不写@import (less) "a.css" //引入css样式表,注意(less)和“a.css”中间有个空格
less 也有作用域
|
|
欲知更多,请戳less-中文官网
可学习视频:less即学即用-慕课