更加方便的创建css文件。
平时常用的一般是嵌套和变量声明,其他的可以没事看看。
简单安装和编译
npm install -g less
lessc styles.less
常用
嵌套
基础功能。
变量
@white:#fff;
import导入其他less
@import './style.less';
运算
@fontSize:10px;
.class{
font-size:@fontSize*10;
}
内置函数
函数地址: http://less.bootcss.com/functions/ 用的比较少,不做详细介绍
@color: #FF8000;
@width:1.0;
.mycolor{
color: @color;
width: percentage(@width); //100%
}
扩展
&:extend 在一个选择器中扩展其他选择器样式。
源代码:
h2 {
&:extend(.style);
font-style: italic;
}
.style {
background: green;
}
编译结果:
h2 {
font-style: italic;
}
.style,
h2 {
background: green;
}
混合(函数)
可以定义函数,并引用,函数本身不会编译到css文件。
不带参数
**
.a(){
padding-left: 100px;
}
.myclass{
background : #64d9c0;
.a;
}
.myclass {
background: #64d9c0;
padding-left: 100px;
}
//可以看到没有a输出
带参数
.mixin(@color: black; @fontSize: 10px) {
color: @color;
font-size: @fontSize;
}
// 可以带名称
.class1 {
.mixin(@fontSize: 20px; @color: #F5A9D0);
}
// 可以不带名称
.class2 {
.mixin(#F79F81; @fontSize: 20px);
}
.class1 {
color: #F5A9D0;
font-size: 20px;
}
.class2 {
color: #F79F81;
font-size: 20px;
}
循环
// @i起始值
// @n终止值
// @j 每次增加值
.mloop(@i:5,@n:10,@j:5) when (@i <= @n) {
.mt@{i} {
margin-top: @i * 1px;
}
.mr@{i} {
margin-right: @i * 1px;
}
.mloop((@i + @j), @n, @j); //递归调用
}
.mloop(); //执行
.mt5 {
margin-top: 5px;
}
.mr5 {
margin-right: 5px;
}
.mt10 {
margin-top: 10px;
}
.mr10 {
margin-right: 10px;
}
父选择器
a {
color: #5882FA;
&:hover {
background-color: #A9F5F2;
}
}
a {
color: #5882FA;
}
a:hover {
background-color: red;
}
参考
这短短的一生我们最终都会失去,不放大胆一点,爱一个人、攀一座山、追一个梦!