You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在LESS文件中使用@supports语法提示需冒号,如何解决?

解决LESS中@supports语法报错的问题

嘿,这个坑我之前踩过!你遇到的问题根源在于LESS把@符号当作变量的专属前缀,所以当你直接写@supports时,它会误以为你要定义一个名为supports的变量,自然就会提示你需要加冒号(变量的格式是@变量名: 值;)。

要解决这个问题,有两种简单实用的方法:

方法一:直接转义整个规则

用LESS的转义语法~"内容"把整个@supports规则包裹起来,这样LESS就会把它当作原生CSS代码直接输出,不会进行变量解析:

~"@supports (display: grid) {
  div {
    display: grid;
  }
}"

方法二:拆分转义(支持LESS语法嵌套)

如果你想在@supports规则内部继续使用LESS的嵌套、变量等特性,可以只转义@supports关键字部分,剩下的内容正常编写:

@{supports-key} (display: grid) {
  div {
    display: grid;
    // 这里还能继续写LESS的嵌套或变量
    .child {
      padding: 10px;
    }
  }
}
@supports-key: ~"@supports";

这种写法的好处是兼顾了原生CSS特性查询和LESS的语法便利,编译后依然会输出正确的@supports规则。

两种方法最终编译出来的CSS都是你想要的效果:

@supports (display: grid) {
  div {
    display: grid;
  }
}

内容的提问来源于stack exchange,提问作者blankface

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:38:42