根據變數值設定元素樣式
.set-colors(@type) when (@type = error) {
@base-color: #d9534f;
background: @base-color;
color: contrast(@base-color, lighten(@base-color, 25%), darken(@base-color, 25%));
border: 1px solid contrast(@base-color, lighten(@base-color, 25%), darken(@base-color, 25%));
}
.set-colors(@type) when (@type = info) {
@base-color: #5bc0de;
background: @base-color;
color: contrast(@base-color, lighten(@base-color, 5%), darken(@base-color, 5%));
border: 1px solid contrast(@base-color, lighten(@base-color, 5%), darken(@base-color, 5%));
}
.set-colors() {
background: white;
color: black;
border: 1px solid black;
}
.error-message {
.set-colors(error);
}
.info-message {
.set-colors(info);
}
.default-div {
.set-colors;
}
在上面的例子中,background
,border
和 color
是根據元素的型別分配的。如果元素是預設文字 div
,則背景將為白色,而文字和邊框將為黑色。如果是錯誤訊息,則顯示 div
或 info
訊息顯示 div
,然後根據型別分配顏色。
編譯的 CSS 輸出如下:
.error-message {
background: #d9534f;
color: #f0b9b8;
border: 1px solid #f0b9b8;
}
.info-message {
background: #5bc0de;
color: #46b8da;
border: 1px solid #46b8da;
}
.default-div {
background: white;
color: black;
border: 1px solid black;
}