I\'m working on a iPad-specific website. To make my website work on both the retina display iPad and older versions of iPads, I want to set a variable in LESS CSS in media q
It would be nice, but this is impossible to do like this.
LESS compiles your media queries to actual media queries, so at compile time there is no indication of which media query will be relevant to the browser.
After compile time you just have CSS not less so you can't have variables anymore.
You can do this instead but it isn't as elegant:
@base_width: 100px;
@media all and (max-width: 768px) {
.something {
width: @base_width;
}
}
@media all and (min-width: 769px) {
.something {
width: @base_width * 2;
}
}
LESS currently cannot do this, although it would be technically possible for it to do it. This feature has been requested in the GitHub issue entitled Less variables in media queries.
See also this question: CSS pre-processor with a possibility to define variables in a @media query