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";
网友评论