Matemaattisten operaatioiden peruuttaminen LESS:ssä
Joskus tilanteissa, joissa meillä on
jokin matemaattinen operaatio, jota ei
pidä tulkita LESS:llä laskentakomennona.
Esimerkiksi tällainen ongelma ilmenee
CSS-funktiossa calc:
div {
width: calc(100% - 10px);
}
Onneksi LESS osaa käsitellä tällaisia kohtia oikein eikä suorita laskentaa kääntämisen yhteydessä.
On kuitenkin tilanteita, joissa lauseke, joka ei vaadi laskentaa, on muualla, esimerkiksi muuttujassa, näin:
@exp: 100% - 10px;
div {
width: calc(@exp);
}
Tässä tapauksessa muuttujaan tallennetaan laskennan
tulos, ja calc:iin lähetetään muuttuja
lasketulla arvolla. Estääksesi tämän
tapahtumasta, voimme eksplisiittisesti määrittää, että lauseke
on säilytettävä muuttumattomana.
Tätä varten lauseke on sijoitettava lainausmerkkeihin ja sen eteen on asetettava tilde-merkki:
@exp: ~'100% - 10px';
div {
width: calc(@exp);
}
Korjaa koodi, jotta se toimii oikein:
@exp1: 80% + 10px;
@exp2: 30vh - 10px;
div {
width: calc(@exp1);
margin-top: calc(@exp2);
}