Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 为什么赢了';这不是在编译时减少css大小吗?_Html_Css_Compiler Errors_Less - Fatal编程技术网

Html 为什么赢了';这不是在编译时减少css大小吗?

Html 为什么赢了';这不是在编译时减少css大小吗?,html,css,compiler-errors,less,Html,Css,Compiler Errors,Less,我正在尝试创建一个mixin,它将采用两个参数,并以px和rem调整输出大小。下面是代码: .sizing (@cssProperty; @sizeValue) { @cssProperty: ((@sizeValue * @basefont) * 1px); @cssProperty: (@sizeValue * 1rem); } 用法如下: h2 { .sizing(font-size; 1) } 应该输出哪一个(取决于定义的基本字体大小): 但是simpLESS不会编译它,

我正在尝试创建一个mixin,它将采用两个参数,并以px和rem调整输出大小。下面是代码:

.sizing (@cssProperty; @sizeValue) {
  @cssProperty: ((@sizeValue * @basefont) * 1px);
  @cssProperty: (@sizeValue * 1rem);
}
用法如下:

h2 {
  .sizing(font-size; 1)
}
应该输出哪一个(取决于定义的基本字体大小):

但是simpLESS不会编译它,并且说这两行代码中有一个错误:

.sizing (@cssProperty; @sizeValue) {
.sizing(font-size; 1);

我做错了什么?这是因为变量属性名吗?

刚刚注意到,您试图使用变量作为属性名,而不是less不支持的值

在这个答案中有一个突出显示为解决方法的黑客:


LESS不允许将变量用作CSS属性名

在您上面的代码中
@cssProperty:(@sizeValue*@basefont)*1px)
实际上是新的
@cssProperty
变量的定义,而不是CSS
属性:value
语句,因此它不生成CSS输出


不过,对于您想要实现的目标,有一个变通方法,请参见,等等。

这很奇怪,他们的网站上说建议使用分号:参数可以是分号,也可以是逗号分隔的。建议使用分号。不确定,以前从未用过分号。让我知道这是否有效。它会返回一个编译器错误,所以我想它不会:)。可能是编译器。顺便说一句,在您的更改之后,它编译时不会出错,但mixin不会返回任何内容(因此,在我的示例中没有字体大小),您知道它为什么不工作吗?说到参数列表中的逗号与分号-嗯,这只是一个或两个开发人员在较少的。。。事实上,在某些(非常罕见且非常高级的用例)情况下,在CSS值中扩展这些变量时,逗号可能会产生一些意想不到的副作用(主要是因为许多CSS属性也使用逗号作为其值分隔符)。。。但是更少的社区仍然使用逗号(毫无疑问,出于明显的原因,会使用逗号),所以如果您选择使用分号,请准备好让您的代码读者震惊:)我认为这可能是您的
@cssprroperty
声明中的语法错误。检查此项:可能重复的
.sizing (@cssProperty; @sizeValue) {
.sizing(font-size; 1);
.mixin(@prop, @value) {
    Ignore: ~"a;@{prop}:@{value}";
}