#LESS#review

2016-05-19  本文已影响9人  a5c0a9d9ccb8
  1. variables
    变量是延迟加载的,在使用前不一定要预先声明。在同一作用域即可使用。
@nice-pink:#F2D1D6;
@mycontainer: container;
@myurl:"../img";
.@{mycontainer}{
    backgroud:url(@{myurl}/a.png);
}
/*编译*/
.container{ backgroud:url(../img/a.png);}
  1. mixins
    <pre>.my-boder{border:1px solid black;} .other-boder{.my-boder;} ----编译后--- .my-boder {border: 1px solid black;} .other-boder {border: 1px solid black;}</pre>
  2. Nested rules
    <pre>``

content{

color: #eee;
.sec{
    color: #ccc;
    a{
        color: #dedede;
        &:hover{color:#ddd;}
            &:after{content:""}
    }

}
}
----编译后---

content {color: #eee;}

content .sec {color: #ccc;}

content .sec a {color: #dedede;}

content .sec a:hover {color: #ddd;}

content .sec a:after {content: "";}

``</pre>

  1. Media query bubbling&nested media queries
    选择器将被复制到媒体查询体内。
#content{
    color: #eee;
    @media screen{
    margin: 20px;
        .sec{
            @media (min-width:600px) {
                color: #ccc;
                a{
                    color: #dedede;
                    &:hover{color:#ddd;}
                     &:after{content:""}
                }
            }
        }
    }
}
/*----编译后---*/
#content {
  color: #eee;
}
@media screen {
  #content {
    margin: 20px;
  }
}
@media screen and (min-width: 600px) {
  #content .sec {
    color: #ccc;
  }
  #content .sec a {
    color: #dedede;
  }
  #content .sec a:hover {
    color: #ddd;
  }
  #content .sec a:after {
    content: "";
  }
}
  1. operations
  2. functions
    Less 提供了许多用于转换颜色,处理字符串和进行算术运算的函数。
  3. Namespaces and Accessors
    命名空间和访问器
  4. Scope
@var: red;
#page { 
    #header { color: @var; // white } 
    @var: white;
}
  1. Comments

  2. Importing

  3. Extend???

extend是一个Less伪类,它会合并它所在的选择其和它所匹配的引用。从本质上将extend会查找编译后的CSS,而不是原始的less。

nav ul { 
    &:extend(.inline); 
    background: blue;
}
.inline {color: red;}
/*----编译----*/
nav ul {background: blue;}
.inline,nav ul {
  color: red;
}
  1. Loops

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

.loop(@counter) when (@counter > 0) {
    .loop((@counter - 1)); // 递归调用自身            
     width: (10px * @counter); // 每次调用时产生的样式代码
}
div { .loop(5); // 调用循环}
/*----编译----*/
div {
  width: 10px;
  width: 20px;
  width: 30px;
  width: 40px;
  width: 50px;
}
上一篇下一篇

猜你喜欢

热点阅读