首页 > 其他 > 详细

less

时间:2019-04-21 21:31:21      阅读:137      评论:0      收藏:0      [点我收藏+]

注释

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

被/**/包裹的注释会被编译到CSS文件

变量

使用@来声明一个变量:属性值 @color:gray;属性名 @m:margin;选择器 @selector:#box

  • 作为普通属性值来使用:直接使用@color
  • 作为选择器和属性名:@{selector}/@{m}的形式(不常用,了解就好)
  • 变量延迟加载

延迟加载是当一个作用域的代码全部解析完,才去加载@var

.class{
 @var:1
 m:@var //3
 @var:3
}

嵌套规则

  • 基本嵌套规则
  • &的使用

&表示上一级选择器,可用于伪元素

若想表示 .box:hover,直接将:hover嵌套于.box得到的CSS为.box :hover(有空格)

正确写法:

.box{
  &:hover{}
}

混合

将一系列属性抽取出来,可在任意元素中调用;

1. 普通混合 会在CSS中输出

.base{
  display:absolute;
  width:100px;
  height:100px;
}//会在编译后的CSS中出现
.box1{
  .base;
}
.box2{
  .base;
}

2. 不输出的混合“()” 不会存在于CSS中

.base(){
  display:absolute;
  width:100px;
  height:100px;
}//不会在编译后的CSS中出现
.box1{
  .base;
}
.box2{
  .base;
}

 

3. 带参数的混合

  • 可设置默认值
  • 当形参与实参个数不一致是,可使用命名参数

LESS文件

.base(@w:50px,@h:50px){//默认值@w: 50 @h: 50
  display: absolute;
  width: @w;
  height: @h;
}
.box1{
  .base(100px,100px);
}
//为传参,使用默认值
.box2{
  .base();
}
//命名参数
.box3{
  .base(@w:200px);
}

CSS文件

.box1{
  width:100px;
  height:100px;
}
.box2{
  width:50px;
  height:50px;
}

4. 模式匹配

LESS文件

.pos(r){
  display: relative;  
}
.pos(a){
  display: absolute;  
}
.pos(f){
  display: fix;  
}
.pos(@_){
  width: 100px;
  height: 80px;  
}
.box1{
  .pos(r); 
  .box2{
     .pos(a);
  }   
}

CSS文件

.box1{
  width: 100px;
  height: 80px;
  display: relative;    
}
.box1 .box2{
  width: 100px;
  height: 80px;
  display: absolute;    
}

运算

不需要都带单位,有一个带了即可

width: 100px + 10 =>width:110px

 

less

原文:https://www.cnblogs.com/embrace-ly/p/10746962.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!