2012-08-15 10 views
5

私はこのlessファイルを書いています。次のようにCSSの動的クラス名がありません

コードは次のとおりです。

.flag (@code) { 
    (~'[email protected]{code}') { 
     + label { 
      &:after { 
       background-image: url('images/flags/@{code}.png'); 
      } 
     } 
    } 
} 

input[type='radio'] { 
    &.flag { 
     .flag(us); 
    } 
} 

今のところ、これは、しかし、私は結果を以下のCSS(.flagと.US間のスペースに注意)

input[type='radio'].flag .us + label:after { 
    background-image: url('images/flags/us.png'); 
} 

を生成します探して、次のようにする必要があります:

明らか
input[type='radio'].flag.us + label:after { 
    background-image: url('images/flags/us.png'); 
} 

私は(コンビネータが必要&)どこかに。しかし、どこを正確に把握することはできません。これまでに試したことはすべて、エラーの解析や望ましくない結果の解析につながります。それも始めることが可能ですか?

ご協力いただければ幸いです。

答えて

1

エスケープされたセレクタに&を許可する機能要求があるか、このケースに対処していますが、今のところ回避策はないと思います。あなたが私が知りたいと思っているものを見つけたら。

6

[後期の答えが、ここでは1 持っている方が良い]あなたはどのその後、動的にクラス名を生成する[email protected]{classname}の代わり(~"@{classname}")を使用することができますLESS 1.3.1(2012年10月)のとおり

LESS内のクラスの前に&の使用と、このコード

することができます

input[type='radio'].flag.us + label:after { 
    background-image: url('images/flags/us.png'); 
} 

は希望CSSを生成します