Less Preprocesor Návod
Proměnné s vlastnostmi
Proměnné mohou uchovávat také skupiny vlastností, vnořených selektorů, media deklarací a mnoho dalšího. Následující ukázka sice ukazuje stejné použití jako u mixinů, ale narozdíl od nich můžeme proměnné předávat do jiných mixinů atp.
// LESS
@nejake-vlastnosti: {
color: green;
background: yellow;
}
#header {
@nejake-vlastnosti();
}
@nejake-vlastnosti: {
color: green;
background: yellow;
}
#header {
@nejake-vlastnosti();
}
/* zkompilované CSS */
#header {
color: green;
background: yellow;
}
#header {
color: green;
background: yellow;
}
Proměnné s vlastnostmi se nám mohou hodit když máme např. mixin, který obaluje nějaký kód třeba do media queries ale tento kód chceme mixinu předávat jako parametr.
// LESS
.desktop(@rules) {
@media screen and (min-width: 1200px) {
@rules();
}
}
header {
background-color: #ffeed5;
.desktop({
color: yellow;
background-color: red;
});
}
.desktop(@rules) {
@media screen and (min-width: 1200px) {
@rules();
}
}
header {
background-color: #ffeed5;
.desktop({
color: yellow;
background-color: red;
});
}
/* zkompilované CSS */
header {
background-color: #ffeed5;
}
@media screen and (min-width: 1200px) {
header {
color: yellow;
background-color: red;
}
}
header {
background-color: #ffeed5;
}
@media screen and (min-width: 1200px) {
header {
color: yellow;
background-color: red;
}
}
Proměnná může kromě vlastností uchovávat třeba také mixiny. Když potom proměnnou použijeme v těle nějakého selektoru, tak se nám mixiny zpřístupní a můžeme je použít.
// LESS
@promenna: {
.mixin() {
color: blue;
}
}
button {
// použití proměnné nám zpřístupní mixin, který uchovává
@promenna();
// použitím proměnné se nám zpřístupnil mixin a můžeme jej zavolat
.mixin();
}
@promenna: {
.mixin() {
color: blue;
}
}
button {
// použití proměnné nám zpřístupní mixin, který uchovává
@promenna();
// použitím proměnné se nám zpřístupnil mixin a můžeme jej zavolat
.mixin();
}
/* zkompilované CSS */
button {
color: blue;
}
button {
color: blue;
}
Získání vlastnosti ze skupiny vlastností uvnitř proměnné
Někdy můžeme chtít získat jednu vlastnost ze skupiny vlastností, které proměnná obsahuje. To můžeme provést pomocí hranatých závorek jak ukazuje následující ukázka.
// LESS
@promenna: {
cervena: red;
zelena: green;
modra: blue;
}
.box {
// použití jedné hodnoty z proměnné @promenna
color: @promenna[zelena];
}
@promenna: {
cervena: red;
zelena: green;
modra: blue;
}
.box {
// použití jedné hodnoty z proměnné @promenna
color: @promenna[zelena];
}
/* zkompilované CSS */
.box {
color: green;
}
.box {
color: green;
}