LESS

2018-02-13  本文已影响0人  静候那一米阳光

less

官网与文档

简介

less于css类似于jquery于js

安装

# 安装less编译器
npm install -g less
# 将less转换为css
lessc styles.less styles.css 

也可以用koala图形化工具进行操作

实例

/* 注释:会被编译 */

// 注释:不会被编译

/* 变量定义 */

@width: 12px;
.box {
  width: @width;
  .border;
}


/* 混合 */

.border {
  border: 1px solid #000;
}

.box2 {
  .border_02(100px);
  height: 100px;
}


/* 混合 带参数 */

.box3 {
  .border_02();
  height: 100px;
  .border_radius();
}

.border_02(@border_width: 10px) {
  border: @border_width solid #000;
}

.border_radius(@radius: 3px) {
  -webkit-border-radius: @radius;
  -moz-border-radius: @radius;
  border-radius: @radius;
}


/* 匹配模式 */

.triangle(top, @w: 5px, @c: #ccc) {
  border-width: @w;
  border-color: transparent transparent @c transparent;
  border-style: dashed dashed solid dashed;
}

.triangle(bottom, @w: 5px, @c: #ccc) {
  border-width: @w;
  border-color: @c transparent transparent transparent;
  border-style: solid dashed dashed dashed;
}

.triangle(@_, @w: 5px, @c: #ccc) {
  width: 0;
  height: 0;
  overflow: hidden;
}

.graph {
  .triangle(bottom, 5px, #000);
}


/* @arguments */

.border_arg(@w: 3px, @c: red, @s: solid) {
  border: @arguments;
}

.test-border {
  width: 20px;
  height: 20px;
  .border_arg(1px);
}


/* 嵌套 */

.list {
  ul {
    width: 50px;
    overflow: hidden;
  }
  a {
    color: #f00;
    &:hover {
      color: #f00+100;
    }
  }
}


/* 避免编译 */

.test-compile {
  width: ~'calc(300px-30px)';
}


/* !important */

.test-imp {
  .border() !important;
}

编译结果

/* 注释:会被编译 */
/* 变量定义 */
.box {
  width: 12px;
  border: 1px solid #000;
}
/* 混合 */
.border {
  border: 1px solid #000;
}
.box2 {
  border: 100px solid #000000;
  height: 100px;
}
/* 混合 带参数 */
.box3 {
  border: 10px solid #000000;
  height: 100px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
/* 匹配模式 */
.graph {
  border-width: 5px;
  border-color: #000000 transparent transparent transparent;
  border-style: solid dashed dashed dashed;
  width: 0;
  height: 0;
  overflow: hidden;
}
/* @arguments */
.test-border {
  width: 20px;
  height: 20px;
  border: 1px #ff0000 solid;
}
/* 嵌套 */
.list ul {
  width: 50px;
  overflow: hidden;
}
.list a {
  color: #f00;
}
.list a:hover {
  color: #ff6464;
}
/* 避免编译 */
.test-compile {
  width: calc(300px-30px);
}
/* !important */
.test-imp {
  border: 1px solid #000 !important;
}

导入文件

# 导入 less
@import "lib";
# 导入 css 
@important "a.css";
# 导入 css 并整合到当前文件
@important (less)"a.css";

文章中实例

资料:慕课网 less即学即用

上一篇下一篇

猜你喜欢

热点阅读