ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# **匹配** 是对混合的扩展,类似js中的if else判断,只有**模式名称匹配成功**才能起作用。 > 注意:匹配模式中,定义的模式名称都是一样的,只是参数不一样,调用的时候只需选择对应的参数就可以了。 ``` @width:100px; @height:30px; .radius(@Radius:30px){ border-radius: @Radius; } /*参数一:模式名称 ; 参数二:变量*/ .radius(l_t;@Radius:30px){ border-top-left-radius: @Radius; } .radius(l_b;@Radius:30px){ border-bottom-left-radius: @Radius; } .radius(r_t;@Radius:30px){ border-top-right-radius: @Radius; } .radius(r_b;@Radius:30px){ border-bottom-right-radius: @Radius; } div{ width: @width; //可以 height: @height; background-color: red; margin: @height; } /*四角圆*/ .test1{ .radius(10px); } .test2{ .radius(l_t,10px); } .test3{ .radius(l_b,10px); } .test4{ .radius(r_b,10px); } ``` 拓展 ``` /*.类名 有两个作用,作为类名,作为函数*/ /*如果仅希望作为函数 .类名(){}*/ //@w:200px; 默认参数,如果用户没有传参就使用默认值,如果传递值,就用用户传递的值。 .sth(@w:200px;@h:200px;@c:pink;) { width: @w; height: @h; background: @c; } /*.br(@lt:5px;@rt:5px;@rb:5px;@lb:5px;){ border-radius:@lt @rt @rb @lb; }*/ /*匹配模式,很像java的重载。也像咱们js当中的if else*/ /*模式不能加@ 而且是第一位*/ .br(@r:5px;) { border-radius: @r; } .br(lt;@r:5px;) { border-top-left-radius: @r; } .br(rt;@r:5px;) { border-top-right-radius: @r; } .br(rb;@r:5px;) { border-bottom-right-radius: @r; } .br(lb;@r:5px;) { border-bottom-left-radius: @r; } .header { //.sth(400px;400px;gold;);传递参数 .sth(@c:gold;); //跨参数传递 border-radius: 30px 10px 30px 10px; } ``` # **《相关案例》** **** 定义变量小案例 > 定义颜色,或者宽度高度 嵌套使用小案例 > 就是像html结构一样书写样式,简洁高效 计算使用小案例 > 可以直接 实现加减乘除运算,方便操作 混合定义和使用案例 > 混合的意思其实非常像定义函数, less函数案例 > 使用less自带的函数,可以快速实现一些功能。 less官网 LESS官网:[http://lesscss.org/](http://lesscss.org/) LESS中文网 : [http://www.lesscss.cn/](http://www.lesscss.cn/) [http://www.lesscss.net/](http://www.lesscss.net/)