Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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
Less 减少了多框阴影参数的混合问题_Less_Css_Stylus - Fatal编程技术网

Less 减少了多框阴影参数的混合问题

Less 减少了多框阴影参数的混合问题,less,css,stylus,Less,Css,Stylus,我在一个项目中工作,如果我必须少用,我个人总是用手写笔,但我不能用这个项目,所以我有下一个问题。我如何才能做到这一点,我正在做的笔,用更少的?问题是参数的数量 在手写笔中: box-shadow() -webkit-box-shadow arguments -moz-box-shadow arguments box-shadow arguments .div { box-shadow 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1

我在一个项目中工作,如果我必须少用,我个人总是用手写笔,但我不能用这个项目,所以我有下一个问题。我如何才能做到这一点,我正在做的笔,用更少的?问题是参数的数量

在手写笔中:

box-shadow()
    -webkit-box-shadow arguments
    -moz-box-shadow arguments
    box-shadow arguments

.div {
    box-shadow 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.2), inset 0 10px rgba(255, 255, 255, 0.2), inset 0 10px 20px rgba(255, 255, 255, 0.2), inset 0 -15px 30px rgba(0, 0, 0, 0.2)
}

.div2 {
    box-shadow 0 2px 8px rgba(0, 0, 0, 0.3)
}
输出:

.div {
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.3), inset 0 1px rgba(255,255,255,0.2), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.2), inset 0 -15px 30px rgba(0,0,0,0.2);
  -moz-box-shadow: 0 2px 8px rgba(0,0,0,0.3), inset 0 1px rgba(255,255,255,0.2), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.2), inset 0 -15px 30px rgba(0,0,0,0.2);
  box-shadow: 0 2px 8px rgba(0,0,0,0.3), inset 0 1px rgba(255,255,255,0.2), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.2), inset 0 -15px 30px rgba(0,0,0,0.2);
}
.div2 {
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  -moz-box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
现在少了 LESS的当前版本允许您使用逗号作为列表的分隔符,然后在参数末尾放一个分号,以逗号分隔的列表形式传递整个内容。现在可以了(请注意右括号前末尾的分号)

.box-shadow(0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.2), inset 0 10px rgba(255, 255, 255, 0.2), inset 0 10px 20px rgba(255, 255, 255, 0.2), inset 0 -15px 30px rgba(0, 0, 0, 0.2););
                                                                                                                                                                                                        ^here
原始(前减1.3.3)答案 以下是获得相同输出所需的工作量:

.box-shadow(@shadows) {
    -webkit-box-shadow: @shadows;
    -moz-box-shadow: @shadows;
    box-shadow: @shadows;
}

.div {
    .box-shadow(~"0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.2), inset 0 10px rgba(255, 255, 255, 0.2), inset 0 10px 20px rgba(255, 255, 255, 0.2), inset 0 -15px 30px rgba(0, 0, 0, 0.2)");
}

.div2 {
    .box-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

注意:要将多个阴影作为
.div
,需要使用转义字符串作为单个参数传递它们,这就是为什么第一次使用
~“”
围绕整个参数字符串。如果您只是传递一个阴影,这是不必要的。LESS需要它来获得阴影组之间的逗号。

谢谢您的回答。不知道有一个更新允许您使用与
~”不同的语法进行编写。