我正在使用iPad专用的网站。为了使我的网站在视网膜显示屏iPad和旧版本的iPad上都能正常工作,我想在媒体查询中的LESS CSS中设置一个变量,例如:
@media all and (max-width: 768px) { @ratio: 1; } @media all and (min-width: 769px) { @ratio: 2; }
因此,当您以像素为单位设置任何内容时,您都可以
width: 100px * @ratio;
但是我收到一个编译错误,指出未定义@ratio。是否有解决方法才能使其正常工作?谢谢。
很好,但这是不可能做到的。
LESS将您的媒体查询编译为实际的媒体查询,因此在编译时,没有指示哪个媒体查询与浏览器相关。
编译时间过后,您的CSS就会更多,因此您将不再拥有变量。
您可以改为执行此操作,但它并不那么优雅:
@base_width: 100px; @media all and (max-width: 768px) { .something { width: @base_width; } } @media all and (min-width: 769px) { .something { width: @base_width * 2; } }