引用命名空间函数的CSS问题更少

时间:2019-05-17 11:49:41

标签: less

我已经开始在Less CSS中使用名称空间,并且遇到了一个不规则现象,这似乎是一个错误,而不是设计造成的。

#responsive {
    .spacing {
        .margin(@property; @side) {
            // This WON'T work when called externally.
            .margin(@property; @side; @side; @side; @side);
        }
        .margin(@property; @vertical; @horizontal) {
            // This WILL work when called externally.
            #responsive.spacing.margin(@property; @vertical; @horizontal; @vertical; @horizontal);
        }
        .margin(@property; @top; @right; @bottom; @left) {
        // This is the function that eventually gets called
        }
    }
}

该示例显示了具有3个不同签名的重载函数。称为:

#responsive.spacing.margin(padding, 1);

在引用顶部重载然后调用主函数时,出现编译错误。

.margin cannot be referenced...

可以通过应用第二个选项中的完全命名空间名称来解决此问题。

虽然这是一种变通方法,但似乎与名称空间无关,毕竟.margin只是在同一命名空间.margin中调用#responsive.spacing的另一个版本。

0 个答案:

没有答案