2014-02-15 4 views
1

Хотя МЕНЬШЕ является Препроцессор, как я могу это сделатьКак вызвать LESS Mixins вне классов CSS?

@ltr: ltr; 
@rtl: rtl; 
@dir: @rtl; 

.SetTypeFaceVariables when (@dir = @ltr) { 
    @headType: 'Segoe UI_'; 
} 
.SetTypeFaceVariables when (@dir = @rtl) { 
    @headType: Tahoma; 
} 

.SetTypeFaceVariables(); // Error is here, we cannot call Mixins here like this 

h1{ 
    font-family: @headType; 
} 

Как я могу определить @headType переменной в другом направлении?


Благодаря @ семь фаз-макс Вы можете найти Demo on Codepen

+0

сделал и попробовать вызов '' mixin' внутри тега h1'? – Rohit416

+0

> Мы не можем назвать Mixins здесь так: на самом деле мы можем. Что Меньше компилятор вы используете? –

+0

@ seven-phase-max Я использую ** Mindscape Web WorkBech ** это ** расширение Visual Studio ** –

ответ

3

Как уже упоминалось в комментариях ваш пример компилируется нормально с меньшим версии 1.5.0 и выше. Скорее всего, ваша IDE поставляется с некоторой устаревшей версией компилятора Less (1.4.2? 1.3.3?). Ничего, вам нужно всего лишь крошечную затруднительный сделать код, чтобы быть совместимым с древней Меньше версиями (до 1.3.2):

@ltr: ltr; 
@rtl: rtl; 
@dir: @ltr; 

// the magic is in parens: 
.SetTypeFaceVariables() when (@dir = @ltr) { 
    @headType: 'Segoe UI_'; 
} 
.SetTypeFaceVariables() when (@dir = @rtl) { 
    @headType: Tahoma; 
} 

.SetTypeFaceVariables(); 

h1 { 
    font-family: @headType; 
} 
+0

В коде я не вижу разницы между вашим кодом и моим, как вы сделали его совместимым со старшей версией LESS? это тот же код или вы его изменили? –

+0

Демоверсия Codepen использует менее 1.5.0. И код ответа имеет свой комментарий рядом с ключевым отличием. –

Смежные вопросы