Добрый день!
В общем, суть вопроса такова: Есть код
.b-shadow (@type:0, @x: 0, @y: 0, @blur: 0, @color: #fff) when (@type=0) {
box-shadow: @x @y @blur @color;
-moz-box-shadow: @x @y @blur @color;
-webkit-box-shadow: @x @y @blur @color;
filter: progid:DXImageTransform.Microsoft.dropshadow(offX=@x, offY=@y, color=@color);
}
.b-shadow (@type, @x: 0, @y: 0, @blur: 0, @color: #fff) when (@type = inset){
box-shadow: @arguments;
-moz-box-shadow: @arguments;
-webkit-box-shadow: @arguments;
}
Тут вроде все понятно, но есть одно но. А если у блока не 1 тень а 2, как быть?
Записать подряд не получится, потому что последняя запись затрет предыдущую.
Использовать якобы функцию "+", тоже не помогает, так как я пишу код:
.b-shadow(0, 0, 5px, 0, #51bad7);
box-shadow+: 0 10px 15px rgba(0,0,0,0.2);
Естественно, предварительно добавив "+" перед описанием значений:
.b-shadow (@type:0, @x: 0, @y: 0, @blur: 0, @color: #fff) when (@type=0) {
box-shadow+: @x @y @blur @color;
-moz-box-shadow+: @x @y @blur @color;
-webkit-box-shadow+: @x @y @blur @color;
filter: progid:DXImageTransform.Microsoft.dropshadow(offX=@x, offY=@y, color=@color);
}
.b-shadow (@type, @x: 0, @y: 0, @blur: 0, @color: #fff) when (@type = inset){
box-shadow+: @arguments;
-moz-box-shadow+: @arguments;
-webkit-box-shadow+: @arguments;
}
в итоге получаю:
box-shadow: 0 5px 0 #51bad7, 0 10px 15px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 0 #51bad7;
-webkit-box-shadow: 0 5px 0 #51bad7;
Почему вторая тень не добавляется с свойствам с префиком?
И как вообще решать такие вопросы?
Хотел написать функцию, чтобы сперва собирать @arg, а потом подставлять его в свойства, но что-то не могу найти, как складывать строки в документации.