趁这几天有空,了解一下css预处理的知识
less简介
Less 是一个Css 预编译器,意思指的是它可以扩展Css语言,添加功能如允许变量(variables),混合(mixins),函数(functions) 和许多其他的技术,让你的Css更具维护性,主题性,扩展性。
Less 可运行在 Node 环境,浏览器环境和Rhino环境.同时也有3种可选工具供你编译文件和监视任何改变。
语法
-
变量
声明一个变量:
@width:100px; .test { width: @width; }
- 混合
.border { border: 1px solid red; } .test { width: @box_width; height: 100px; background: #ccc; .border; //直接混合使用 }
- 嵌套
正常写法
.test { font-size: 10px; } . test a { color: red; }
less 写法:
.test { font-size: 10px; a { color: red; } }
同样可以包含伪类:
.test { font-size: 10px; a { &:hover { color: blue; } color: red; } }
- 运算
@width: 5px; .test { width: @width + 10; //15px }
less能推断此处的单位
- 函数
.border_radius(@width:5px) { //5px是可选参数,表示默认值 -webkit-border-radius: @width; -moz-border-radius: @width; -ms-border-radius: @width; border-radius: @width; } .test { .border_radius(20px); }
- 命名空间
.bundle { .button { display: block; border: 1px solid black; background-color: grey; &:hover { background-color: white } } } //现在如果我们想在 .header a 中混合 .button 类,那么我们可以这样做: .header a { color: orange; .bundle > .button; }
- 作用域
@var: red; .page { #header { color: @var; // white } @var: white; }
- 避免编译
.test { width: ~'calc(300px - 30px)'; }
- 注释
//不会被编译css
/**/会被编辑到css
更多使用语法,请查看less中文网。
http://lesscss.net/
个人github博客:aralic.github.io
来源:https://www.cnblogs.com/Aralic/p/4508383.html