SCSS @for
- SCSS @for thường được dùng để tác động tới danh sách, với tính chất tăng dần.
Ví dụ về SCSS @for
Tạo độ giảm giần opacity
SCSS |
CSS |
$lenght: 5;
@for $i from 1 through $lenght {
.item-#{$i} {
opacity: 1/$i;
}
}
|
.item-1 {
opacity: 1;
}
.item-2 {
opacity: 0.5;
}
.item-3 {
opacity: 0.33333;
}
.item-4 {
opacity: 0.25;
}
.item-5 {
opacity: 0.2;
}
|
- Nội dung trên có nghĩa là: lặp cho nội dung bên trong @for sao cho
$i
chạy từ 1
cho tới $length
.
Tạo chiều rộng tự động theo số cột
SCSS |
CSS |
$total-cols: 8;
@function column-width($col) {
@return percentage($col/$total-cols);
}
@for $i from 1 through $total-cols {
.col-#{$i} { width: column-width($i) };
}
|
.col-1 {
width: 12.5%;
}
.col-2 {
width: 25%;
}
.col-3 {
width: 37.5%;
}
.col-4 {
width: 50%;
}
.col-5 {
width: 62.5%;
}
.col-6 {
width: 75%;
}
.col-7 {
width: 87.5%;
}
.col-8 {
width: 100%;
}
|
Sử dụng cho :nth-child
SCSS |
CSS |
$base-color: #036;
@for $i from 1 through 3 {
ul:nth-child(3n + #{$i}) {
background-color: lighten($base-color, $i * 5%);
}
}
|
ul:nth-child(3n + 1) {
background-color: #004080;
}
ul:nth-child(3n + 2) {
background-color: #004d99;
}
ul:nth-child(3n + 3) {
background-color: #0059b3;
}
|