发表于: 2019-12-29 22:24:09

1 1132


今天完成的事情:今天学习了一点less进阶的使用技巧
明天计划的事情:继续任务
遇到的问题:理解能力不足导致花费时间较长
收获:学习了一些进阶的技巧,如

函数(Functions)

Less 内置了多种函数用于转换颜色、处理字符串、算术运算等。这些函数在Less 函数手册中有详细介绍。

函数的用法非常简单。下面这个例子将介绍如何利用 percentage 函数将 0.5 转换为 50%,将颜色饱和度增加 5%,以及颜色亮度降低 25% 并且色相值增加 8 等用法:

@base#f04615;
@width0.5;

.class {
  widthpercentage(@width); // returns `50%`
  colorsaturate(@base5%);
  background-colorspin(lighten(@base25%), 8);
}

映射(Maps)

从 Less 3.5 版本开始,你还可以将混合(mixins)和规则集(rulesets)作为一组值的映射(map)使用

#colors() {
  primary: blue;
  secondary: green;
}

.button {
  color#colors[primary];
  border1px solid #colors[secondary];
}

输出符合预期:

.button {
  colorblue;
  border1px solid green;
}

作用域(Scope)

Less 中的作用域与 CSS 中的作用域非常类似。首先在本地查找变量和混合(mixins),如果找不到,则从“父”级作用域继承。

@varred;

#page {
  @varwhite;
  #header {
    color@var// white
  }
}

与 CSS 自定义属性一样,混合(mixin)和变量的定义不必在引用之前事先定义。因此,下面的 Less 代码示例和上面的代码示例是相同的:

@varred;

#page {
  #header {
    color@var// white
  }
  @varwhite;
}

calc() 特例

Released v3.0.0

为了与 CSS 保持兼容,calc() 并不对数学表达式进行计算,但是在嵌套函数中会计算变量和数学公式的值。

@var50vh/2;
widthcalc(50% + (@var - 20px));  // 结果是 calc(50% + (25vh - 20px))

明天继续进行任务


返回列表 返回列表
评论

    分享到