1

每当 .less 文件在某些​​情况下使用“#”主题标签时,我都会收到无节点编译器错误。颜色十六进制值似乎没问题,例如 color: #FFFFFF; 但你采取类似#zoom:1; 对于无法识别的输入,它会因 parseError 而爆炸。

我找不到任何其他与# 的使用直接相关的帖子,并且它会使编译器跳闸,所以这让我想知道为什么没有其他人遇到这个问题。

下面是一个从 Dojo SDK 文件 dijit.css 中提取的类的实际示例 less 文件定义。我将扩展名更改为 .less,因此我可以将它和其他 less 文件合并到一个 .css 文件中:

.dijitInline {
/*  To inline block elements.
    Similar to InlineBox below, but this has fewer side-effects in Moz.
    Also, apparently works on a DIV as well as a FIELDSET.
*/
display:inline-block;           /* webkit and FF3 */
#zoom: 1; /* set hasLayout:true to mimic inline-block */
#display:inline; /* don't use .dj_ie since that increases the priority */
border:0;
padding:0;
vertical-align:middle;
#vertical-align: auto;  /* makes TextBox,Button line up w/native counterparts on IE6 */
}

编译器在#zoom 和#display 行阻塞。

4

1 回答 1

1

从技术上讲,#zoomcss 是无效的,尽管它是由 IE 解释的,因此经常用作 IE 修复解决方案。然而,我怀疑这就是你的编译器失败的原因。

我使用以下 inline-block mixin,它在 codekit 和 winless 中编译得很好:

.display-inline-block() {
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
}

和你的*display一样无效,#zoom但我的编译器似乎并不关心。我没有尝试使用#,但使用*似乎值得一试...

于 2013-08-29T22:05:32.627 回答