Less(v3.9.0)使用详解—变量

该系列:

Less(v3.9.0)使用详解——基本使用

Less(v3.9.0)使用详解——变量

Less(v3.9.0)使用详解——嵌套和父选择器&

Less(v3.9.0)使用详解——extend(嵌套)

其他待更新...

翻译自less官方文档lesscss.org/features/#v…

变量

@width: 10px;
@height: @width + 10px;

#header {
  width: @width;
  height: @height;
}
复制代码

编译为

#header {
  width: 10px;
  height: 20px;
}
复制代码

变量还可以用在其他地方,比如选择器名称,属性名称,urls地址,@import导入语句

// Variables
@my-selector: banner;
@images: "../img";
@property: font-weight;

// Usage
.@{my-selector} {
  @{property}: bold;
  line-height: 40px;
  margin: 0 auto;
  background: url("@{images}/white-sand.png");
}
复制代码

编译为

.banner {
  font-weight: bold;
  line-height: 40px;
  margin: 0 auto;
  background: url("../img/white-sand.png");
}
复制代码

引用变量的变量

@primary:  green;
@secondary: blue;

.section {
  @color: primary;

  .element {
    color: @@color;
  }
}
复制代码

编译为

.section .element {
  color: green;
}
复制代码

惰性求值,变量不用非得在使用之前声明,有点类似js的变量提升,当一个变量重复声明两次时,从当前作用域开始向上找,以最近作用域最后声明的为准

.lazy-eval {
  width: @var;
  @a: 9%;
}

@var: @a;
@a: 100%;
复制代码

编译为

.lazy-eval {
  width: 9%;
}
复制代码

引用css属性值作为变量(v3.0.0),当遇到多个重复属性值时,规则同惰性求值

.block {
  color: red; 
  .inner {
    background-color: $color; 
  }
  color: blue;  
} 
复制代码

编译为

.block {
  color: red; 
  color: blue;  
} 
.block .inner {
  background-color: blue; 
}
复制代码

由于类似变量提升,惰性求值的特性,能够实现改变某些库默认变量的功能

// library
@base-color: green;
@dark-color: darken(@base-color, 10%);

// use of library
@import "library.less";
@base-color: red;
复制代码

此时base-color就变为red,而dark-color就变为dark red了,这在实现主题颜色时很有用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值