Less Preprocesor Návod
Proměnné
Když píšeme CSS styly, tak se nám často stává, že používáme stejnou hodnotu na více místech najednou. Pokud bychom tuto hodnotu chtěli později změnit a měli ji v kódu např. stokrát, tak bychom museli procházet celý kód a ručně měnit každý výskyt této hodnoty. To nám samozřejmě zabere nějaký čas a mohli bychom na některém místě hodnotu zapomenout přepsat. Proto nám LESS umožňuje vytvořit si proměnné do kterých si uložíme nějaké hodnoty a tyto proměnné potom v kódu použijeme namísto hodnoty samotné.
Následující ukázka kódu ukazuje, jak se proměnné vytvářejí a jak se používají.
// deklarace proměnných
@link-color: #428bca;
@link-color-hover: #2f4692;
// použití proměnných
a {
color: @link-color;
}
a:hover {
color: @link-color-hover;
}
/* při kompilaci se každý výskyt proměnné převede
na hodnotu, kterou proměnná obsahuje */
a {
color: #428bca;
}
a:hover {
color: #2f4692;
}
Možnosti použití proměnných
Proměnné nemusíme používat jen pro nastavování hodnot vlastností, jak je to ukázáno v předchozí ukázce kódu. Můžeme je použít i na jiných místech, například u jmen selektorů, názvů vlastností atp.
Selektory
Proměnné můžeme používat také v názvech selektorů. Při použití ale název proměnné musíme napsat mezi znaky "@{" a "}".
// vytvoření proměnné, kterou použijeme v názvu selektoru
@hlavni-nadpis: main-heading;
// použití proměnné
.@{hlavni-nadpis} {
font-size: 25px;
}
.main-heading {
font-size: 25px;
}
URL
Pokud v kódu používáme URL adresy, tak si pro ně můžeme také vytvořit proměnné. Nemusíme ukládat v proměnné celou URL adresu, ale třeba jen její část.
// vytvoření proměnné, kterou použijeme na začátku URL adresy
@obrazky: "../img";
// použití proměnné v URL adrese
body {
background: url("@{obrazky}/pozadi.png");
}
body {
background: url("../img/pozadi.png");
}
Importování
Další použití proměnných může být při importování.
// vytvoření proměnné
@themes: "../src/themes";
// použití proměnné
@import "@{themes}/tidal-wave.less";
Vlastnosti
Proměnné můžeme využít také při psaní vlastností.
// vytvoření proměnné
@property: color;
// použití proměnné
p {
@{property}: #0ee0ee;
background-@{property}: #999999;
}
p {
color: #0ee0ee;
background-color: #999999;
}
Vytvoření proměnné podle proměnné
Pokud chceme, tak si můžeme vytvořit proměnnou podle proměnné, která již existuje. Potom ale při používání této vytvořené proměnné musíme použít 2x @.
@color-primary: #2aa22a;
@color-secondary: #2a64a2;
p {
// vytvoření proměnné podle proměnné
@color: color-primary;
// použití proměnné, která byla vytvořena podle jiné proměnné
color: @@color;
}
p {
color: #2aa22a;
}
Kdy můžeme proměnné použít a měnění jejich hodnoty
Proměnné nemusí být deklarované abychom je mohli použít.
.box {
// použití proměnných před jejich vytvořením
width: @width;
height: @height;
}
// zde vytváříme proměnné až po jejich použití
@width: 60px;
@height: 40px;
.box {
width: 60px;
height: 40px;
}
Pokud v kódu definujeme proměnnou dvakrát nebo vícekrát, tak se použije hodnota v poslední deklaraci. Toto chování ukazuje následující ukázka.
@barva: red;
.text-section {
// zde se nastaví červená barva
color: @barva;
h1 {
// změníme hodnotu proměnné barva
@barva: green;
// zde se nastaví zelená barva
color: @barva;
}
.text-section {
color: red;
}
.text-section h1 {
color: green;
}
Vlastnosti jako proměnné
Namísto proměnných se nám občas může hodit použít jako proměnnou nějakou vlastnost. Jak to provést ukazuje následující ukázka, v podstatě jen namísto @ napíšeme $. Hodnota bude stejně jako u proměnných poslední výskyt vlastnosti.
p {
// nastavení barvy textu
color: #2aa22a;
// barva pozadí bude stejná jako barva textu
background-color: $color;
}
p {
color: #2aa22a;
background-color: #2aa22a;
}