@charset "utf-8"; //注释------------------------------ /*我是可以被编译出来的*/ //不能被编译出来 //变量------------------------------------- @test_ 300px; .div{ @test_width; } //混合 .border{ border:1px solid #666; } .div2{ @test_width; .border; } //混合--带参数 .border2(@border_width){ border:@border_width solid #222; } .test-mixin2{ .border2(2px); color:red; } //混合--默认带值需要其他值可以传参 .border3(@border_2px){ border:@border_width dotted #333; -webkit-border:@border_width dotted #333; -moz-border:@border_width dotted #333; -ms-border:@border_width dotted #333; -o-border:@border_width dotted #333; } .test-mixin3{ .border3; } .test-mixin03{ .border3(1px); } //匹配模式---------------------------------------- .sjborder{ //边框三角形:假如需要角朝下,(反方向)上边框设置颜色和solid,其他边框设为透明和dashed 0px; height:0px; overflow: hidden; border-5px; border-color:red transparent transparent transparent; border-style:solid dashed dashed dashed; //兼容ie6黑边问题,没有的边设为dashed } //匹配模式--边框三角 上 右 下 左 相当于js的if .triangle(bottom, @w:5px, @c:#ccc){ //角朝上 border-@w; border-color:transparent transparent @c transparent; border-style:dashed dashed solid dashed; } .triangle(top, @w:5px, @c:#ccc){ //角朝下 border-@w; border-color:@c transparent transparent transparent; border-style:solid dashed dashed dashed; } .triangle(right, @w:5px, @c:#ccc){ //角朝左 border-@w; border-color:transparent transparent transparent @c; border-style:dashed dashed dashed solid; } .triangle(left, @w:5px, @c:#ccc){ //角朝右 border-@w; border-color:transparent @c transparent transparent; border-style:dashed solid dashed dashed; } .triangle(@_, @w:5px, @c:#ccc){ //@_ 始终都会匹配的,后面两个参数必须加上 0px; height:0px; overflow: hidden; } //定位例子 .pos(r){ position: relative; } .pos(a){ position: absolute; } .pos(f){ position: fixed; } .autosj1{ .triangle(right); .pos(r); } .autosj2{ .triangle(bottom); } //运算--------------------------------------------- @w:100px; .w300{ @w + 200; //运算没强制带单位,至少一个带就可以 height:(@w+50)*2; background-color:#333 - 10; //颜色很少运算 } //嵌套-------------------------------------- ul{ //嵌套层数多的比层数少的加载慢 li{ a{ span{ color:red; } &:hover{ //& 代表上一层选择器 color:yellow; } } } } //@arguments 变量------------------------------- .border-arg(@w:5px, @type:solid, @c:red){ border:@arguments; } .border-arg{ .border-arg; } //避免编译:输出不正确的css语法或使用less不认识的语法(适用于滤镜等)------- .prevent-compile{ ~'calc(300px - 30px)'; //calc 让浏览器计算不是less计算 } //!important关键字(所有都会加上important适用于调试)--------------------------------- .bor-im{ .w300()!important; }