美文网首页
less基础2

less基础2

作者: 嘿喵heyMeow | 来源:发表于2017-02-15 15:53 被阅读0次

(每次学循环必懵。。。。)
“在Less中,混合可以调用它自身。这样,当一个混合递归调用自己,再结合Guard表达式和模式匹配这两个特性,就可以写出循环结构。”

所以什么是Guard表达式和模式匹配?

less对于判断也有很大需求,但是less没用采用if/else相似,而是用when来装条件,条件满足了在执行大括号里边的内容。
when()中可以放关于@n的表达式、可以放内置函数、is函数。

.mixin(@n) when(@n > 5){
  background: red;
}
.mixin(@n) when(@n < 5){
  background: blue;
}
div{
  .mixin(7);  //调用,传入参数7, 7>5, 条件符合第一个,设置背景为red
}
.mixin1(@n) when(lightness(@n) > 50%){
  background: red;
}
//is函数:
//iscolor、isnumber、isstring、iskeyword、isurl
.mixin2(@n) when(iscolor(@n)){
  background: @n;
}

when中可以设置多条件,注意去掉when的括号并把条件加上括号:

.mixin(@n) when (@n > 5) and (@n < 10){
  background: red;
}
.mixin(@n) when (@n > 5) , (@n < -5){
  background: red;
}

循环就是在以上的基础上再内容里调用自身。

方式1:

.loop(@i) when (@i >= 0) {
  .loop((@i- 1));    // 递归调用自身
  width: (10px * @i); 
}
div{
.loop(5);    //@i的值可以取5、4、3、2、1、0
}

方式2:

.loop(@n, @i:1) when (@i <= @n ) {
  li:nth-child(@{i}){
    background-image: url('../images/page5_bubble.png');
  }
  .loop(@n, (@i + 1));
}
ul {
.loop(5);    //@i值可以取1、2、3、4、5,为ul的每个li设置背景

注意有时不能直接用@i,有时需要为其加上括号:@{i}。

相关文章

  • 第十三周第一天笔记之less

    less知识 简书链接less使用总结:less基础知识less使用总结2:less使用总结 单位px,em,re...

  • less基础2

    (每次学循环必懵。。。。)“在Less中,混合可以调用它自身。这样,当一个混合递归调用自己,再结合Guard表达式...

  • vue2 less less-loader 的用法

    LESS基础语法 我们一起来学习一下LESS的基础语法,LESS的基础语法基本上分为以下几个方面:变量、混合(Mi...

  • 一个less文件中引入另一个less文件

    假设有两个 .less的文件1.less 和2.less 在1.less 中引入2.less文件

  • Vue项目使用less

    1 先下载less less-loader: npm i less less-loader -S 2 将less配...

  • Less基础

    变量 适用于定义主题,我们可以将背景颜色、字体颜色、边框属性等常规样式进行统一定义,这样不同的主题只需要定义不同的...

  • less基础

    less less语法学习

  • less基础

    Less 是一门 CSS 预处理语言,使用了类似CSS的语法,为CSS赋予了动态语言的特征。它扩展了 CSS 语言...

  • Less基础

    执行时用js编译less Less编译工具 koala 官网:www.koala-app.com less中的注...

  • less基础

网友评论

      本文标题:less基础2

      本文链接:https://www.haomeiwen.com/subject/bygvittx.html