Sono appena ottenuto in LessCSS e sono in esecuzione in quello che sento è importante limitazione e mi chiedevo se ci fosse un modo per fare questo ?? Voglio dire che ho letto da qualche parte che Sass consente funzioni definite dall'utente, ma LessCSS farà lo stesso?Funzioni definite dall'utente con LessCSS?
Quello che sto volendo fare:
@fs: 16;
// either return the value
.s(@t,@s,@u) {
// return @t/@s*@u;
}
#elem {
margin-top: .s(30,@fs,1em);
width: .s(900,@fs,1em);
.child {
width: .s(100,900,100%);
}
}
// or have a property argument
.s(@t,@s,@u,@p) {
@{p}: @t/@s*@u;
}
#elem {
.s(30,@fs,1em,margin-top);
.s(900,@fs,1em,width);
.child {
.s(100,900,100%,width);
}
}
L'unico modo in cui posso capirlo, ma è molto limitata perché devo avere più mixins:
.s(@t,@s,@u,@p) when (@p = margin-top) { margin-top: @t/@s*@u; }
// margin[-top|-right|-bottom|-left]
// padding[-top|-right|-bottom|-left]
.s(@t,@s,@u,@p) when (@p = width) { width: @t/@s*@u; }
.s(@t,@s,@u,@p) when (@p = height) { height: @t/@s*@u; }
lo so posso sempre modificare il file less.js per aggiungere una funzione di distanza, come il built-in round()
o ceil()
funzione. Ma questo elimina la possibilità di compilare i file .less per la produzione usando LessPHP, Crunch, SimpLess.
Grazie per la tua risposta. Invece di dover contare su lessphp, ho deciso di creare 'dimensions.less' e importarlo. Il file contiene '.width()' '.padding()' ecc. –