2013-02-27 45 views
0

我遇到了使用“&”级联选择器获取LessCSS以处理具有一系列嵌套规则的文件的实际问题。LessCSS:连接类中的嵌套函数 - 已解决

例如,下面的工作没有错误:如果我改变颜色为(任何形式的 - 预定义或混入)函数

.grey-table { 
    background: #EDEDED; 
    tr { 
     th { 
      background: #DEDEDE; 
     } 
     td { 
      color: #888; 
     } 
     &:nth-child(odd) { 
      td { 
       background-color: #F9FCFF; 
      } 
     } 
     &:nth-child(even) { 
      td { 
       background-color: #EDF5FF; 
      } 
     } 
     &:hover { 
      td { 
       background-color: #DFEAF9; 
      } 
     }; 
    } 
} 

但是,我得到的错误

“第12行语法错误 - 未定义

.grey-table { 
    background: desaturate(#EDEDED, 100%); 
    tr { 
     th { 
      background: desaturate(#DEDEDE, 100%); 
     } 
     td { 
      color: desaturate(#888, 100%); 
     } 
     &:nth-child(odd) { 
      td { 
       background-color: desaturate(#F9FCFF, 100%); <------ Line 12 
      } 
     } 
     &:nth-child(even) { 
      td { 
       background-color: desaturate(#EDF5FF, 100%); 
      } 
     } 
     &:hover { 
      td { 
       background-color: desaturate(#DFEAF9, 100%); 
      } 
     }; 
    } 
} 

我无法找到任何这参考材料,但我敢肯定,我不能成为唯一吗?

非常感谢。

回答

1

我是个白痴,并没有注意到冒号后第12行的标签。

这就是导致错误,但只有当有一个较少的CSS混合/变量。向所有人道歉。

2

我通常首先定义颜色,然后给他们打电话的功能:

@mycolor: #F9FCFF; 
desaturate(@mycolor, 100%); 

我很抱歉,但没有错误有不太页面上的代码: http://less2css.org/

尝试粘贴它在(没有你的< ---第12行),你会看到它的作品。 也许你正在使用一些javastript,它与页面上较少的脚本进行交互。

编辑: 您还可以在打破少分析器的旧版本(< = 1.3.1)末尾的分号。 如果我把它拿出来,它通过铝版本解析得很好......我不能重现你的错误。

+0

我试过这个,并收到相同的错误。 我也尝试将颜色定义为变量,但似乎没有帮助。 – JamesBirkett 2013-02-27 12:40:59

+0

我不知道,现在以很少的方式在很多方面尝试了你的确切代码......它似乎对我有效。我很抱歉...我无法重现错误。 – 2013-02-27 12:57:06

0

我同意Martin的说法,我不能用上面的代码和编译器在http://less2css.org/上重现你的错误。我可以在第12行重现语法错误消息的唯一方法是:

  1. 删除background-color属性后面的冒号。
  2. 在结尾分号后面添加一些与非注释相关的字符(例如您的笔记<--- line 12无效,但我相信您会在上面说明)。
  3. 在(a)颜色,(b)百分比或(c)括号之后添加结束引号。 (b)的一个例子 - 100%'。可能还有一些其他字符也会导致它,但有些只是在没有语法错误的情况下直接打印到css中。
  4. 在属性名称之前由属性名称的空格或其他无效字符分隔的字符,如y background-color*background-color

显然,上面显示的代码中没有一个存在,但是您可以仔细检查一下,实际代码是否没有一些额外字符或缺少可能导致问题的字符。