1

argb() メソッドを使用する mixin を作成しました (IE フィルター グラデーション用)。この mixin はパラメーターを取り、変数のリストから選択する適切な変数名を設定するために使用されます。これらの変数は、16 色を格納します。

@var_foo: #FFFFFF;
@var_bar: #000000;

.setColor(@colorName){
    @colorVar: ~'@{var_@{colorName}}';
    @colorArgb: argb(@colorVar);
}

これにより、エラーが発生します: 関数の評価エラーargb: オブジェクト # にはメソッド 'toARGB' がありません

エスケープ機能が気に入らないようです。@colorVar をハードコードされた @var_foo に直接置き換えると、機能します。何か間違ったことをしていますか、それとも argb() メソッドに何か特別なものが必要ですか?

ありがとうございました

4

2 に答える 2

1

You are calling the constructed variable name wrongly.

You should use the @@ to call a variable from a variable name.

LESS:

@var_foo: #FFFFFF;
@var_bar: #000000;

.setColor(@colorName) {
    @colorVar: 'var_@{colorName}';
    @colorArgb: argb(@@colorVar);
    color: @colorArgb;
}

.setColor(bar);

will return this CSS:

color: #ff000000;
于 2013-06-03T20:06:35.340 に答える