Less笔记- 变量

使用变量

// 声明
@link-color: #428bca;
@link-color-hover: darken(@link-color, 20%);
// 使用
a, .link {
    color: @link-color
}
a:hover {
    color: @link-color-hover;
}
/* 变量 */
a,
.link {
  color: #428bca;
}
a:hover {
  color: #245682;
}

选择器

// 声明
@my-selector: banner;
// 使用
.@{my-selector} {
   color: #333;
}
.@{my-selector}-top {
    color: #666;
}
.banner {
  color: #333;
}
.banner-top {
  color: #666;
}

URLs路径

// 声明
@images: './img';
// 使用
body {
    background: url('@{images}/demo.jpeg')
}
body {
  background: url('./img/demo.jpeg');
}

import文件声明及引入

// 声明
@themes: "./themes";
// 使用
@import "@{themes}/red.less";
.demo {
    width: @width;
}

// red.less内容 @width: 200px;
.demo {
  width: 200px;
}

属性properties

@property: color;
.demo {
    @{property}: #eee;
    background-@{property}: blue;
}
.demo {
  color: #eee;
  background-color: blue;
}

变量命名变量

用一个变量定义另一个变量的名称

// 声明
@primary:  green;
@secondary: blue;
// 使用
.section {
  @color: primary;

  .element {
    color: @@color;
  }
}
.section .element {
  color: green;
}

// @color =〉primary @paimary =〉green =〉color: green;

延迟加载特性

  • 变量可以先使用后定义
.lazy-eval {
    width: @var;
}
@var: @a;
@a: 9%;
.lazy-eval {
  width: 9%;
}
  • 重复声明变量,以最后一次定义为准,从当前范围向上搜索
@color: red;
.demo {
    @color: blue;
    .inner {
        @color: black;
        color: @color;
        @color: orange;
    }
    color: gray;
}
.demo {
  color: gray;
}
.demo .inner {
  color: orange;
}

属性作为变量

v3.0以上版本支持
将当前或者父元素样式作用域中的最后一个属性值作为属性值

.demo {
    color: red;
    background-color: $color;
    color: blue;
}

.block {
    color: red;

    .inner {
        background-color: $color;
    }
    color: blue;
}
.demo {
  color: red;
  background-color: blue;
  color: blue;
}
.block {
  color: red;
  color: blue;
}
.block .inner {
  background-color: blue;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值