Ruby's Louvre

每天学习一点点算法

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

有关less 处理@arguments的一些高级技巧

//http://stackoverflow.com/questions/14350749/less-arguments-with-linear-gradients-commas
.mixin(...) {
  filter: gradient( ~`@{arguments}.join(",")` );
}
 
.test {
 .mixin("x1","x2","x3")
}

输出

test {
 filter: gradient(x1,2,3);
}

就是捕捉用户所有传入的参数,然后拼接

这里有一篇讲述早期如此与@arguments作斗争的http://www.toekneestuck.com/blog/2012/05/15/less-css-arguments-variable/ 不过,1.32出来后就作废了。看现在的做法

.flex(@flex) {
  -webkit-box-flex: @flex;
  -moz-box-flex: @flex;
  -o-box-flex: @flex;
  box-flex: @flex;
  -webkit-flex: @flex;
  -moz-flex: @flex;
  -ms-flex: @flex;
  -o-flex: @flex;
  flex: @flex;
}
ul {
     @value:1 1 auto;
    .flex(@value);
    list-style: none;
    margin: 0;
    padding: 0;
    background: hsl(200,100%,90%);
    //min-height: 0;
    overflow: auto;
}

看到没有,现在我们可以把传参放到一个变量中,我这里叫@value,随你怎么定义,然后再传到函数里。支持传变量,对于.transition,.transform这样需要传复杂的字符串的CSS数来说,就简单多了。

最后这里还一篇,一些更有用的技巧http://www.sitepoint.com/a-comprehensive-introduction-to-less-mixins/

如果您觉得此文有帮助,可以打赏点钱给我支付宝1669866773@qq.com ,或扫描二维码

posted on   司徒正美  阅读(3038)  评论(1编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2009-07-22 update_all
2009-07-22 利用acts_as_ferret实现全文检索
2009-07-22 利用fleximage实现图片上传
点击右上角即可分享
微信分享提示