Czym różni się LESS od SASS?

Wróć do Bazy wiedzy

Używanie preprocesorów znacząco zmniejsza ilość czasu, którego developer potrzebuje do wprowadzania odpowiednich zmian. Skupmy się na porównaniu LESS i SASS. Oba języki korzystają z podobnych funkcjonalności jak zmienne, pętle, czy zagnieżdżania jednak korzystanie z nich trochę się różni. Sprawdźmy czym różnią się preprocesory SASS i LESS.

Obliczenia

LESS nie zwraca uwagi na jednostki dodawanych liczb za to SASS wyświetli błąd – niekompatybilne jednostki.

// LESS
width: 100px + 2em; // zwraca 102px
// SASS
width: 100px + 2em; // zwraca błąd

Tworzenie zmiennych

// LESS
@variable: 100px;
// SASS
$variable: 100px;

Warunki

// LESS

@if lightness($color) > 30% {
    background-color: black;
}
@else {
    background-color: white;
}

// SASS

.mixin (@color) when (lightness(@color) > 30%) {
    background-color: black;
}
.mixin (@color) when (lightness(@color) =<; 30%) {
    background-color: white;
}
}

Mixins

Wywoływanie funkcji z parametrem zwracającym blok kodu.

// LESS

.bordered (@width) {
    border: @width solid #ddd;
    &:hover {
        border-color: #999;
    }
}

h1 {
    .bordered(5px);
}

// SASS

@mixin bordered($width) {
    border: $width solid #ddd;
    &:hover {
        border-color: #999;
    }
}

h1 {
    @include bordered(5px);
}
}

Pętle

// LESS

.loop(@counter) when (@counter > 0){
    .loop((@counter - 1));
    .border-@{counter} {
        border: 1px * @counter solid blue;
    }
}

// SASS

@for $i from 1px to 3px {
    .border-#{i} {
        border: $i solid blue;
    }
}

Skontaktuj się z nami

Przejdź do formularza wyceny on-line aby skrócić do minimum czas na przygotowanie wyceny realizacji.