Ta đã biết vòng lặp foreach trong PHP dùng để lặp mảng và mỗi lần lặp nó sẽ lặp qua một phần tử của mảng đó. Còn trong SASS chúng ta có vòng lặp each có chức năng tương tự như vòng lặp foreach, tuy nhiên trong SASS không có cấu trúc mảng nên vòng lặp each trong SASS dùng để lặp một loại dữ liệu tương tự như mảng đó là dữ liệu dạng list.
1. Vòng lặp each trong SASS
Xét ví dụ sau:
$class-name : col-xs-1 col-xs-2 col-xs-3; @each $name in $class-name { .#{$name} { background: red; } }
Bài viết này được đăng tại [kiso.vn]
CSS sau khi biên dịch:
.col-xs-1 { background: red; } .col-xs-2 { background: red; } .col-xs-3 { background: red; }
Như vậy vòng lặp each đã lặp qua từng giá trị trong biến $class-name
, từ đó ta rút ra cú pháp của vòng lặp each như sau:
@each $value in $values { // do something }
Trong đó $values
là một danh sách các giá trị (LIST). Nếu bạn chưa hiểu kiểu dũ liệu dạng list thì chúng ta tiếp tục tìm hiểu nhé.
2. Kiểu dữ liệu List trong SASS
Kiểu dữ liệu list là một danh sách các giá trị cách nhau bởi khoảng trắng, mỗi giá trị có thể có cặp dấu ngoặc kép bao lại hoặc không.
Ví dụ: biến $names
chứa ba giá trị cuong, kinh và chinh
$names : cuong kinh chinh;
Nếu các giá trị ta không bao lại bằng cặp dấu nháy đơn (hoặc kép) thì rất dễ bị hiểu nhầm trong trường hợp này:
$borders : solid 2px solid 3px;
Trường hợp trên rõ ràng ý định mình muốn phân ra thanh hai giá trị nhưng SASS nó sẽ hiểu là có 4 giá trị, vì vậy ta phải thay đổi lại như sau:
$borders : " solid 2px" "solid 3px";
Kết hợp với vòng lặp each ta có ví dụ sau:
$borders : "solid 2px" "solid 3px"; @each $border in $borders { .h2{ border: #{$border}; } }
Và đây là CSS sau khi biên dịch:
.h2 { border: solid 2px; } .h2 { border: solid 3px; }
3. Lời kết
Như vậy là ta đã tìm hiểu xong vòng lặp each trong SASS và một số ví dụ liên quan, đồng thời cũng biết thêm kiểu dũ liệu dạng list trong SASS. Bài tiếp theo chúng ta sẽ tìm hiểu tới function trong SASS.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Vòng lặp each trong SASS2. Kiểu dữ liệu...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Vòng lặp each trong SASS2. Kiểu dữ liệu List trong SASS3. Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Vòng lặp each trong SASS2. Kiểu dữ liệu List trong SASS3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Vòng lặp each trong SASS2. Kiểu dữ liệu List trong SASS3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Vòng lặp each trong SASS2. Kiểu dữ liệu List trong SASS3. Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện...