Less (język arkusza stylów) - Less (stylesheet language)

Mniej
MNIEJ Logo.svg
Zaprojektowany przez Alexis Sellier
Deweloper Alexis Sellier, Dmitrij Fadeyev
Po raz pierwszy pojawiły się 2009 ; 12 lat temu ( 2009 )
Wersja stabilna
4.1.1 / 30 stycznia 2021 ; 5 miesięcy temu ( 2021-01-30 )
Dyscyplina pisania Dynamiczny
Język implementacji JavaScript
OS Wieloplatformowy
Licencja Licencja Apache 2.0
Rozszerzenia nazw plików .mniej
Stronie internetowej lesscss .org
Wpływem
CSS , Sass
Pod wpływem
Sass , mniej frameworka, Bootstrap (v3)

Less (Leaner Style Sheets; czasami stylizowany jako LESS ) to dynamiczny język arkuszy stylów preprocesora , który można skompilować w kaskadowe arkusze stylów (CSS) i uruchomić po stronie klienta lub serwera. Zaprojektowany przez Alexis Sellier, Less jest pod wpływem Sassa i wpłynął na nowszą składnię „SCSS” Sassa, która dostosowała składnię formatowania bloków podobną do CSS. Less to projekt open source . Jego pierwsza wersja została napisana w języku Ruby ; jednak w późniejszych wersjach użycie Rubiego zostało przestarzałe i zastąpione przez JavaScript . Składnia Less z wcięciem jest zagnieżdżonym metajęzykiem , ponieważ poprawny CSS jest poprawnym kodem Less z tą samą semantyką . Less udostępnia następujące mechanizmy: zmienne , zagnieżdżanie , domieszki , operatory i funkcje ; główna różnica między Lessem a innymi prekompilatorami CSS polega na tym, że Less umożliwia kompilację w czasie rzeczywistym przez przeglądarkę less.js.

funkcje

Zmienne

Less umożliwia definiowanie zmiennych. Zmienne w Less są zdefiniowane za pomocą znaku (@). Przypisanie zmiennych odbywa się za pomocą dwukropka (:).

Podczas tłumaczenia wartości zmiennych są wstawiane do wyjściowego dokumentu CSS.

@pale-green-color: #4D926F;

#header {
  color: @pale-green-color;
}
h2 {
  color: @pale-green-color;
}

Powyższy kod w programie Less skompiluje się do następującego kodu CSS.

#header {
  color: #4D926F;
}
h2 {
  color: #4D926F;
}

Mieszanki

Mixins umożliwia osadzenie wszystkich właściwości klasy w innej klasie, dołączając nazwę klasy jako jedną z jej właściwości, zachowując się w ten sposób jako rodzaj stałej lub zmiennej. Mogą również zachowywać się jak funkcje i przyjmować argumenty. CSS nie obsługuje domieszek: każdy powtarzający się kod musi być powtórzony w każdej lokalizacji. Domieszki pozwalają na wydajniejsze i czystsze powtarzanie kodu, a także łatwiejszą zmianę kodu.

.rounded-corners (@radius: 5px 10px 8px 2px) {
  -webkit-border-radius: @radius;
  -moz-border-radius: @radius;
  border-radius: @radius;
}

#header {
  .rounded-corners;
}
#footer {
  .rounded-corners(10px 25px 35px 0px);
}

Powyższy kod w Lessie skompilowałby się do następującego kodu CSS:

#header {
  -webkit-border-radius: 5px 10px 8px 2px;
  -moz-border-radius: 5px 10px 8px 2px;
  border-radius: 5px 10px 8px 2px;
}
#footer {
  -webkit-border-radius: 10px 25px 35px 0px;
  -moz-border-radius: 10px 25px 35px 0px;
  border-radius: 10px 25px 35px 0px;
}

Less ma specjalny typ zestawu reguł zwany domieszkami parametrycznymi, które można mieszać w podobne klasy, ale akceptuje parametry.

#header {
  h1 {
    font-size: 26px;
    font-weight: bold;
  }
  p {
    font-size: 16px;
    a {
      text-decoration: none;
      color: red;
      &:hover {
        border-width: 1px;
        color: #fff;
      }
    }
  }
}

Powyższy kod w Lessie skompilowałby się do następującego kodu CSS:

#header h1 {
  font-size: 26px;
  font-weight: bold;
}
#header p {
  font-size: 16px;
}
#header p a {
  text-decoration: none;
  color: red;
}
#header p a:hover {
  border-width: 1px;
  color: #fff;
}

Funkcje i operacje

Mniej pozwala na operacje i funkcje. Operacje umożliwiają dodawanie, odejmowanie, dzielenie i mnożenie wartości właściwości i kolorów, które można wykorzystać do tworzenia złożonych relacji między właściwościami. Funkcje mapują jeden do jednego z kodem JavaScript, umożliwiając manipulowanie wartościami.

@the-border: 1px;
@base-color: #111;
@red:        #842210;

#header {
  color: @base-color * 3;
  border-left: @the-border;
  border-right: @the-border * 3;
}
#footer {
  color: @base-color + #003300;
  border-color: desaturate(@red, 10%);
}

Powyższy kod w Lessie skompilowałby się do następującego kodu CSS:

#header {
  color: #333;
  border-left: 1px;
  border-right: 3px;
}
#footer {
  color: #114411;
  border-color: #7d2717;
}

Porównanie

Sass

Zarówno Sass, jak i Less są preprocesorami CSS, które umożliwiają pisanie czystego CSS w konstrukcji programistycznej zamiast reguł statycznych.

Mniej inspiruje Sass. Sass został zaprojektowany zarówno w celu uproszczenia, jak i rozszerzenia CSS, więc takie rzeczy jak nawiasy klamrowe zostały usunięte ze składni. Less został zaprojektowany tak, aby był jak najbardziej zbliżony do CSS, dzięki czemu istniejący CSS może być używany jako prawidłowy kod Less.

Nowsze wersje Sass wprowadziły również składnię podobną do CSS o nazwie SCSS (Sassy CSS).

Używaj w witrynach

Mniej można zastosować do witryn na wiele sposobów. Jedną z opcji jest dołączenie pliku JavaScript less.js , aby przekonwertować kod w locie. Przeglądarka następnie renderuje wyjściowy kod CSS. Inną opcją jest renderowanie kodu Less do czystego CSS i przesłanie CSS do witryny. Dzięki tej opcji żadne pliki .less nie są przesyłane, a strona nie wymaga konwertera JavaScript less.js.

Mniej oprogramowania

Nazwa Opis Licencja oprogramowania Platforma Funkcjonalność
WinLess - Windows GUI dla less.js w Wayback Machine (archiwum 2 czerwca 2015) Mniej kompilatora GUI Apache 2.0 Okna Kompilator
Schrupać Mniej edytora i kompilatora (wymaga Adobe AIR) GPL Windows, Mac OS X
Edytor kompilatora
less.js-windows Proste narzędzie wiersza poleceń dla systemu Windows, które skompiluje pliki *.less do CSS przy użyciu less.js. Licencja MIT Okna Kompilator
mniej.aplikacja Mniej kompilatora Prawnie zastrzeżony Mac OS X Kompilator
CodeKit Mniej kompilatora Prawnie zastrzeżony Mac OS X Kompilator
LessEngine Mniej kompilatora Wolny Wtyczka OpenCart Kompilator
BEZ PROSTY Mniej kompilatora bezpłatna, ale bez wyraźnej licencji Windows
Mac OS X
Linux
Kompilator
Żwawy Mniej kompilatora pani-PL Wtyczka programu Visual Studio Kompilator
Mindscape Web Workbench Podświetlanie składni i IntelliSense for Less and Sass Prawnie zastrzeżony Wtyczka programu Visual Studio
Podświetlanie składni kompilatora
Wtyczka Eclipse za mniej Wtyczka Eclipse EPL 1.0 Wtyczka Eclipse Podświetlanie składni Asystent
zawartości
Kompilator
mod_less Moduł Apache2 do kompilacji Less w locie Otwarte źródło Linux Kompilator
grunt-bez wkładu Zadanie Grunt Node.js do konwersji Less na CSS MIT Node.js Kompilator
Podstawy sieciowe Rozszerzenie Visual Studio z obsługą Less i Sass Apache 2.0 Okna Podświetlanie składni, Asystent zawartości, Kompilator
clesc Kompilator czystego C++ MIT przynajmniej Windows, Linux, MacOS Kompilator
Mniej WebCompiler Kompilator internetowy MIT przynajmniej Windows, Linux, MacOS Kompilator, Podświetlanie składni, Minifier

Zobacz też

Bibliografia

Linki zewnętrzne