2013-02-25 3 views
5

Вот код (test.less):Почему LESS не переопределяет свойство, объявленное в двух одинаковых селекторах?

body { 
    padding: 50px; 
} 

body { 
    padding: 20px; 
} 

Почему после компиляции в CSS У меня есть это:

body { 
    padding: 50px; 
} 
body { 
    padding: 20px; 
} 

Я думал, что МЕНЬШЕ будет превалировать тело класс и в CSS Я d есть только один корпус класс.

Есть ли способ сделать это?

ответ

3

Меньше чем когда-либо отличается от CSS. Что это сделать, это переписать вложенные блоки, как

body { 
    padding: 50px; 
    h1 { 
    color: blue; 
    } 
} 

в

body { 
    padding: 50px; 
} 
body h1 { 
    color: blue; 
} 

Таким образом, в LESS, так же, как в CSS, порядок, в котором вы пишете ваши селекторы имеет значение, и если конфликты могут» t быть разрешен на specificity (см. Nicolas Gallagher's post для более читаемого объяснения того, как это работает), как правило, правило, последнее будет применено, таким образом, переопределяя более ранние.

+0

У меня уже есть ответ от другого вопроса, но в любом случае, спасибо! – user0103

+0

Что было другим ответом @ WasimAbu-Nassar? –

+0

@RubensMariuzzo извините за мой поздний ответ. Я уже забыл другой ответ, но это довольно просто: код в моем вопросе правильный, и это правильный способ расширить классы и переменные CSS, поэтому, если вы хотите настроить переменную класса, вы должны написать новую переменную класса и перезаписи. – user0103

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