SASS CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Bài 10: Vòng lặp for trong SASS

Vòng lặp là một khái niệm không còn xa lạ gì nữa với các bạn lập trình viên. Nhưng bạn có nghĩ trong SASS cũng hỗ trợ vòng lặp for? Đương nhiên là có bởi vì SASS giống như là một ngôn ngữ lập trình CSS vậy. Và trong bài này ta cùng tìm hiểu cú pháp của vòng lặp for nhé.

1. Vòng lặp for trong SASS

Vòng lặp for dùng để lặp những đoạn CSS có chung cấu trúc nhưng chỉ khác một điểm nào đó và điểm đó phải thực có sự tương đồng (cùng bước nhảy) với nhau. Ví dụ chúng ta có đoạn HTML như sau:

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

<div class="content">
    <div id="item-1">

    </div>
    <div id="item-2">

    </div>
    <div id="item-3">

    </div>
    <div id="item-4">

    </div>
</div>

Và để viết CSS cho từng ID thì hơi lâu, vì vậy ta sẽ sử dụng vòng lặp trong SASS và đương nhiên sau khi biên dịch nó sẽ tự động gán CSS vào từng id như CSS thông thường.

SCSS:

@for $i from 1 through 4 {
    #item-#{$i}{
        background: red
    }
}

CSS sau khi biên dịch:

#item-1 {
  background: red; 
}

#item-2 {
  background: red; 
}

#item-3 {
  background: red; 
}

#item-4 {
  background: red; 
}

Nhìn vào ví dụ này ta có được cấu trúc vòng lặp for như sau:

@for $i from $begin_value through $end_value {
    // do some thing
    // Để lấy giá trị $i thì ta sử dụng cú pháp
    // #{$i}
}

Và để lấy giá trị của $i mỗi vòng lặp thì ta sử dụng cú pháp #{$i}.

Ngoài ra bạn cũng có thể sử dụng cú pháp sau:

@for $i from $begin_value to $end_value {
    // do something
}

Với cú pháp này vòng lặp sẽ bỏ đi bước lặp cuối cùng nên tổng só lần lặp là (n-1).

Ví dụ: Viết lại ví dụ trên với cú pháp thứ hai

SCSS:

@for $i from 1 to 4 {
    #item-#{$i}{
        background: red
    }
}

CSS sau khi biên dịch:

#item-1 {
    background: red; 
}

#item-2 {
    background: red; 
}

#item-3 {
    background: red; 
}

2. Một ví dụ về vòng lặp for trong SASS

Giả sử minh:có một Mixin như sau:

@mixin grid($i){
    @if ($i == 1){
        background: red;
    }
    @else if ($i == 2){
        background: blue;
    }
    @else if ($i == 3){
        background: yellow;
    }
    @else{
        background: pink;
    }
}

Nếu mình muốn sử dụng Mixin đó bốn lần với bốn tham số từ 1 -> 4 thì sử dụng vòng lặp như sau:

@for $i from 1 through 4 {
    .grid-#{$i} {
        @include grid($i);
    }
}

Và đây là CSS sau khi biên dịch:

.grid-1 {
    background: red; 
}

.grid-2 {
    background: blue; 
}

.grid-3 {
    background: yellow; 
}

.grid-4 {
    background: pink; 
}

Quá đơn giản phải không nào.

3. Lời kết

Chúng ta còn hai vòng lặp quan trọng cần phải học nữa đó là vòng lặp while và vòng lặp each nên bạn thấy tình hình ngày càng hấp dẫn phải không nào :3 Tuy nhiên bài tiếp theo chúng ta sẽ tìm hiểu một số toán tử thường dùng trong SASS đã nhé.

Cùng chuyên mục:

Mở đầu: Sự khác nhau giữa SASS và SCSS

Mở đầu: Sự khác nhau giữa SASS và SCSS

Khi bạn đọc series này bạn sẽ thấy mình giới thiệu và SASS mà lại…

Bài 16: Các hàm xử lý Number trong SASS

Bài 16: Các hàm xử lý Number trong SASS

Tiếp tục tìm hiểu các hàm có sẵn trong SASS và trong bài này chúng…

Bài 15: Các hàm xử lý chuỗi trong SASS

Bài 15: Các hàm xử lý chuỗi trong SASS

SASS cung cấp khá nhiều các hàm có sẵn giúp cho việc lập trình trở…

Bài 14: Function trong SASS

Bài 14: Function trong SASS

Function không còn xa lại gì trong các ngôn ngữ lập trình nhưng với SASS…

Bài 13: Vòng lặp each trong SASS

Bài 13: Vòng lặp each trong SASS

Ta đã biết vòng lặp foreach trong PHP dùng để lặp mảng và mỗi lần…

Bài 12: Vòng lặp while trong SASS

Bài 12: Vòng lặp while trong SASS

Vòng lặp for dùng để lặp cho những trường hợp ta biết trước tổng số…

Bài 11: Các toán tử hay dùng trong SASS

Bài 11: Các toán tử hay dùng trong SASS

SASS hỗ trợ khá nhiều toán tử không kém gì các ngôn ngữ lập trình,…

Bài 09: Lệnh if else trong SASS

Bài 09: Lệnh if else trong SASS

Còn khá nhiều kiến thức quan trọng của SASS mà bạn cần phải học và…

Bài 08: Tìm hiểu Mixin trong SASS

Bài 08: Tìm hiểu Mixin trong SASS

Mình đã từng code CSS cho nhiều trang và mình cũng phân chia và comment…

Bài 07: Nested Selector trong SASS

Bài 07: Nested Selector trong SASS

Như chúng ta biết hoạt động truy vấn các đối tượng HTML trong CSS sẽ…

Bài 06: Khai báo và sử dụng biến trong SASS

Bài 06: Khai báo và sử dụng biến trong SASS

Như mình đã nói SASS có những chức năng rất giống với một ngôn ngữ…

Bài 05: Tìm hiểu Place Holder trong SASS

Bài 05: Tìm hiểu Place Holder trong SASS

Trong bài này chúng ta tìm hiểu cách khai báo một Placer Hoder để cho…

Bài 04: Kế thừa extend trong SASS

Bài 04: Kế thừa extend trong SASS

Như một ngôn ngữ lập trình, SASS cho phép chúng kế thừa lẫn nhau và…

Bài 03: Các lệnh biên dịch file SASS thành file CSS

Bài 03: Các lệnh biên dịch file SASS thành file CSS

Nếu bạn không muốn sử dụng Netbeans và chức năng tự động generate của nó…

Bài 02: Cấu hình SASS trên Netbeans

Bài 02: Cấu hình SASS trên Netbeans

Sau khi cài đặt SASS xong thì chúng ta cần một editor để lập trình.…

Bài 01: SASS là gì? Cài đặt SASS trên Window

Bài 01: SASS là gì? Cài đặt SASS trên Window

Hôm nay chúng ta sẽ tìm hiểu một công nghệ mới dành cho các frontend…

Top