不幸的是,我不得不回过头来重新编写一些样式以确保它适用于IE8(客户需要它)。我有一个将z-index添加到元素的函数,
.mobile-pane {
....
....
/* won't work for IE8 */
/* @for $i from 1 through 4 {
&:nth-child(#{$i}) {
z-index: #{$i};
}
} */
&:first-child {
z-index: 1;
& + .mobile-pane {
z-index: 2;
& + .mobile-pane {
z-index: 3;
& + .mobile-pane {
z-index: 4;
}
}
}
}
}
如您所见,该功能已明确注释掉。但是(我在Visual Studio中使用CompileSASS),在输出窗口中,我看到了:
CompileSass 8:35:55 AM:Sass compilation failed for main.
Error: C:/projectFolder/source/sass/components/header:219: unbound variable $i
在Google WebDev中,我看到了函数的输出,....:nth-child(2) { z-index:2; }
......等等,而不是
.mobile-pane:first-child+.mobile-pane {
z-index: 2;
}
,正如我所料。我是SCSS的新手,所以我不知道这是一个已知问题,还是CompileSass没有正确阅读评论。
据我所知,我可以将函数保留在其中,并且只有IE8 z-index CSS,它仍然可以工作,但是我想保留这个函数,以防IE8不再是一个要求
我的问题 - SCSS执行此操作是正常的,还是扩展名?
答案 0 :(得分:1)
预计在CSS注释中访问变量,而不是在注释中声明变量。
$i: 100;
/* commenting about #{$i} */
输出:
/* commenting about 100 */
同时
/*
$j: 100;
commenting about #{$j} */
引发错误:
未定义的变量:“$ j”。
如果要注释掉访问由于被注释掉而不存在的变量的代码块,请改为使用双斜杠:
$j: 100;
.foo {
// content: $j;
}