2016-12-14 2 views
0

例のように分離されたClassの最初の2つだけを拡張する方法があるかどうかを知りたい場合、または特定のクラスを作成するような他のオプションがある場合 .background{background:red}分離されたクラスの代わりに(しかし、私はCSSでクラスの.backgroundを出力したくない)。SASS&LESS - 分離されたクラスの拡張

SASS:

.foo { 
    background:red 
} 
.foo { 
    color:red 
} 
.bar { 
    @extend .foo; 
} 
.foo { 
    font-size: 16px 
} 

LESS:

.foo { 
    background:red 
} 
.foo { 
    color:red 
} 
.bar { 
    &:extend(.foo); 
} 
.foo { 
    font-size: 16px 
} 

CSS出力は次のようになります

.foo, .bar { 
    background: red; 
} 

.foo, .bar { 
    color: red; 
} 

.foo, .bar { 
    font-size: 16px; 
} 

しかし、私はこのようになりたい:私はこれが起こっ作るために従うべきどんな道

.foo, .bar { 
    background: red; 
} 

.foo, .bar { 
    color: red; 
} 

// No .bar class here 

.foo { 
    font-size: 16px; 
} 

答えて

2

あなたはあなたの継承を後方に持っています。

LESS:barfoobarを拡張し、fooを拡張しない
.bar, 
.foo { 
    background-color: red; 
} 
.bar, 
.foo { 
    color: red; 
} 
.foo { 
    font-size: 16px; 
} 
+0

あなたもあなたに2つの '.bar'宣言を組み合わせることができませんでした:

.bar { background-color: red; } .bar { color: red; } .foo { &:extend(.bar); font-size: 16px; } 

CSSを生成します1つのセレクタにコードがありませんか? – TylerH

+0

@タイラーHはい、しかし私はOPの例にできるだけ近づいていました。 – zzzzBov

+0

こんにちはzzzzBov、あなたの返信ありがとう!私は間違った質問を作成したかもしれませんが、私は何か違ったものを求めていましたあなたのコードでは、 'font-size'を' .foo'クラスの中に置き、あなたの** expand **ルールは '.bar'クラスを展開するだけです(私はこれを知っています)。しかし、私は**拡張可能なすべての '.bar'を読み込まずに展開することができるかどうかを知りたがっていました。 ...あなたが私が本当に欲しいものを理解したいと思っています:) –

関連する問題