【发布时间】:2019-04-11 16:24:52
【问题描述】:
我试图找出为什么这个 LESS 文件无法编译。我创建了一个基本的 mixin 和变量被解析到其中,但由于某种原因它不会编译。
错误信息是:ParseError: Unrecognized input
在这条线上:#placement-5-1.sidenav(@sidenav-colour)
有什么明显的我错过了吗?我是新手,正在为我的新工作学习它。感谢您的帮助。
#placement-5-1.sidenav(@sidenav-colour) {
.content-wrapper-inner {
ol.output-level-1 {
box-shadow: 0 0 4px rgba(0,0,0,.3);
> li {
> a {
background: @sidenav-colour;
color: @bright-white;
padding: 15px 10px;
position: relative;
padding-right: 40px;
&:after {
position: absolute;
right: 10px;
content: "\f063";
font-family: 'Font Awesome 5 Pro';
font-size: 2em;
top: 50%;
transform: translateY(-50%);
}
}
}
}
}
@media @mobile {
margin: 0px 9% !important;
}
}
@some-red: #e74c3c;
@some-blue: #3498db;
.sidenav.red { #placement-5-1.sidenav.red(@some-red) }
.sidenav.blue { #placement-5-1.sidenav.red(@some-blue) }
【问题讨论】:
-
不是 100% 确定,但
#placement-5-1.sidenav(@sidenav-colour)是否允许使用点?当我删除点.sidenav时对我有用 -
我不明白为什么不
-
是mixin的名字,里面不能有点,它可能认为它是一个css类但是它是一个mixin声明所以它不能解析它
-
我不明白为什么不 - 基本上一个参数混合名称必须是一个 single 标识符(显然是“一个实体 -> 一个名称”)你可以通过嵌套获得
.a.b.c.d....的东西,例如比如namespaces。
标签: less