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

Bài 14: Function trong SASS

Trong bài này chúng ta tìm hiểu một phần mới tương tự như @Mixin đó là  @function.

1. Function là gì?

Function không còn xa lại gì trong các ngôn ngữ lập trình nhưng với SASS thì nó là một khái niệm khá mới lạ và đương nhiên cũng rất là hữu ích trong việc xây dựng CSS . Về chức năng của function cũng tương tự như @mixin, tuy nhiên nếu phân tích kỹ thì @mixin giống như procedure (hàm không có return) còn function là hàm có return.

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.

Trước tiên xem cú pháp tạo function trong SASS như sau:

@function function_name($var1, $var2, ...){
    @return value;
}

Để sử dụng function thì ta chỉ việc gọi tới tên của function đó và truyền tham số vào (nếu có).

function_name($val1, $val2, ...)

Có một lưu ý trong function là bắt buộc bạn phải sử dụng lệnh @return để trả kết quả về. Còn trường hợp bạn không muốn return một giá trị về thì nên sử dụng Place Holder hoặc Mixin.

Ví dụ: Hàm trả về số chiều rộng cộng thêm 20px

@function width_wrapper($value)
{
    @return ($value + 20px);
}

.wrapper{
    width: width_wrapper(80px);
}

Đoạn code này lúc biên dịch sang CSS thì sẽ như sau:

.wrapper {
    width: 100px; 
}

Tương tự như Mixin bạn cũng có thể gán giá trị mặc định cho function.

@function width_wrapper($value : 20)
{
    @return ($value + 20px);
}

Quá đơn giản với bạn rồi nên mình không giải thích gì thêm.

2. Lựa chọn function, mixin hay place holder?

Việc lựa chọn Funtion, Mixin hay Place Hoder sẽ phụ thuộc vào mục đích của bạn. Nhưng trước tiên mình cần nắm vững khái niệm của chúng.

Function dùng để xử lý một nhiệm vụ và nó sẽ trả về một kết quả duy nhất nên việc trả về một đoạn CSS dài ngoằn là điều không thể, vì vậy thông thường ta dùng function trong những trường hợp xủ lý một nhiệm vụ nào đó và mục đích cuối cùng là lấy một kết quả.

Mixin như ta đã học thì nó giống như một procedure dùng để gom nhóm một đoạn code CSS lại.

Place Holder có chức năng giống Mixin, tuy nhiên có sự khác biệt là bạn không thể khai báo tham số trong Place Holder.

Dựa vào những yếu tố trên bạn sẽ quyết định nên sử dụng phần nào vào project của bạn.

3. Lời kết

Đây là bài thứ 14 và cũng sắp hết kiến thức về SASS rồi nên mình hy vọng qua tới bài này bạn đã học được nhiều điều và yêu thích SASS hơn, bài tiếp theo chúng ta sẽ tìm hiểu đến một số hàm có sẵn trong SASS.

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 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 10: Vòng lặp for trong SASS

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…

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