2012-09-27 87 views
7

比方说,我有使用较少定义的风格:重用LESS嵌套样式

ul.unstyled, 
ol.unstyled { 
    margin-left: 0; 
    list-style: none; 
} 

后来,我想重新使用unstyled类:

.my-list { 
    .unstyled; 
} 

这不起作用但是,我无法弄清楚它是如何运作的。有什么想法吗?

回答

5

您不能重复使用任意类定义,只能使用混合(以点开头的)。在这种情况下,你需要复制它。

+2

这是否意味着当定义'.myClass'时,LESS会创建一个无参数混合? –

+0

好问题。我认为是的,因为根据文档,mixins只是一个类:“Mixins允许你将类的所有属性嵌入到另一个类中,只需将类名称作为其属性之一就可以了。它就像变量一样,但是对于整个类”。 –

3

试试这个:

.unstyled { 
    margin-left: 0; 
    list-style: none; 
} 

.my-list { 
    .unstyled; 
} 

如果它定义为ul.unstledol.unstyled您将无法嵌套.unstyled

+0

那对我来说不起作用,因为我没有自己的原始定义......换句话说,'unstyled'类是在'Bootstrap.less'中定义的,我想避免调整依赖关系。相反,我想知道如何重用嵌套风格。 –

+0

啊。如果您不能/不能覆盖这些样式,我不确定您是否可以按照您的要求重用它。 LESS不会让你指定''ul.unstyled''或类似的东西作为嵌套类。你总是可以创建一个mixin,但是这将会复制代码。 –

1

既然你不能重用.unstyled当它是一个嵌套的风格,你可能不想要编辑的引导源代码,我建议你只分配两个类名到您的列表:

<ul class="unstyled my-list" />