将浏览器选择器与LESS结合使用

时间:2013-05-09 19:14:04

标签: css less css-selectors transition

是否可以将-webkit,-moz,-o和-ms选择器与LESS组合成一个?

我试过

.transition(@t @d) {
    transition:@t @d;
    -webkit-transition:@t @d;
    -moz-transition:@t @d;
}

但它破坏了css文件。

我希望能够输入

.transition(WhatToTransition Duration)

让它适用于所有选择器。

1 个答案:

答案 0 :(得分:4)

你可以尝试在参数之间加一个逗号。

.transition(@t, @d) {
    -moz-transition: @t @d @e;
    -webkit-transition: @t @d @e;
    transition: @t @d @e;
}

您还可以为缓动添加另一个参数,并为参数添加一些默认值,如下所示:

.transition(@t: all, @d: 1s, @e: linear) {
    -moz-transition: @t @d @e;
    -webkit-transition: @t @d @e;
    -o-transition: @t @d @e;
    -ms-transition: @t @d @e;
    transition: @t @d @e;
}

我希望这能做到你想要的。我还会重新排序供应商前缀属性,将非前缀属性放在最后,您还可以添加oms,如上所示。

例如,

。的 LESS:

.test {
    .transition(all, 0.5s, ease-in);
}

将返回 CSS:

.test {
    -webkit-transition: all 0.5s ease-in;
    -moz-transition: all 0.5s ease-in;
    -o-transition: all 0.5s ease-in;
    -ms-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
}