较少的CSS解析错误:媒体定义需要块语句

时间:2016-01-01 00:37:45

标签: css twitter-bootstrap less media-queries codekit

我正在使用codekit来编译我的Bootstrap LESS文件,并且我继续在媒体查询上得到此解析错误,这是我以前在CSS文件中无法获得的。

" ParseError:媒体定义需要在第568行第2列的/assets/less/homepage.less中的任何功能之后的块语句: 567 @media(max-width:@iphone_breakpoint){ 568}"

以下是完整的代码行:

/* Custom, iPhone Retina */ 
@media (max-width: @iphone_breakpoint) {
}

有谁可以解释发生了什么?

2 个答案:

答案 0 :(得分:6)

刚出现此错误,发现问题是一个简单的语法错误。我会发布对我有用的内容。

错误

>> SyntaxError: media definitions require block statements after any
>> features in _assets/less/styles.less on line 144, column 2:
>>
>> 143
>> 144  div {
>> 145          .links {

请注意,错误显示该行在144-145左右,我们将看到

在下面的代码中,当使用内置的. .hidden()时,我忘记了mixin(句号)。

这会输出错误:

  

SyntaxError:媒体定义需要在第144行第2列的dir / bar / foo.less中的任何功能之后使用块语句:

有点误导,因为错误是该行149内的div中的一个孩子。

div {                // Line 144
    .links {
        .hidden();
    }
    .other-links {
        // Missing `.` for using the mixin
        hidden();    // The real error is here on Line 149
    }
}

<强>要点:

确保显示错误的子项中没有语法错误。

  1. 检查mixins之前的缺失时段。 hidden() -> .hidden()
  2. 检查所有其他错误?
  3. 发现另一个导致此错误的语法错误?
    告诉我们,在下面发表评论

答案 1 :(得分:-1)

写Less时,我在VS Code中遇到了同样的错误。 语法错误与Anil的答案不同。

    .my_list {
        p {
            padding: (30px -24px) / 2 0;    //without space between "-" and "24px"         
        }
    }

我在“ - ”和“24px”之间添加空格,然后错误消失。

Visual Studio Code没有告诉我错误发生在哪一行。但它显示哪个块以红色下划线抛出错误。我必须逐行找到具体的错误位置。

要点:

检查语法错误。