I am using LESS CSS .
I am currently using Mixins with variables.
Something like this works okay :
.border-radius (@radius) { border-radius: @radius; } #header { .border-radius(4px); }
This is not :
.bg-img(@img) { background-image:url(@img); } #logo { .bg-img("../images/logo.jpg"); }
i have tried combinations of using ' & " in the background-image:url ('') & ("") but then it tries to get the image as images/@img
instead of the image name. other wise it gives me an error of Cannot call method 'charAt' of undefined
I think writing background-image:url()
all the time is too tedious, is this possible..?
:) got my answer!
it needs to be used like this in my case :
.bg-img(@img) { background-image:url("@{img}"); } #logo { .bg-img("../images/logo.jpg"); }
You can further improve on this by adding the first part of the image path to the initial mixin so you only have to write it once:
.bg-img(@img) { background-image:url("../images/@{img}"); } #logo { .bg-img("logo.jpg"); }
A small improvement but does add a little elegance.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With