2012-09-27 85 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" />