Komma-separerad sammanfogning i LESS
Låt oss säga att vi har en funktion som skapar en skugga för ett block:
.shadow(@s) {
box-shadow: @s;
}
Låt oss säga att vi vill lägga till två skuggor till ett block genom att anropa vår funktion två gånger:
p {
.shadow(1px 1px red);
.shadow(2px 2px blue);
}
Det kommer dock inte att fungera, eftersom
anrop av två skuggor bara kommer att lägga till två egenskaper
box-shadow:
p {
box-shadow: 1px 1px red;
box-shadow: 2px 2px blue;
}
Men vi skulle vilja att skuggorna lades till
i en enda egenskap box-shadow separerade med kommatecken,
så här:
p {
box-shadow: 1px 1px red, 2px 2px blue;
}
För att vår funktion ska fungera på det beskrivna
sättet, måste egenskapens värde skrivas efter
en speciell operator +:, så här:
.shadow(@s) {
box-shadow+: @s;
}
Gör en liknande funktion för egenskapen
text-shadow.
Gör en liknande funktion för egenskapen
background.