SASS/SCSS là gì?

Tram Ho

Khái niệm

Sass là gì

Sass là viết tắt của Syntactically Awesome Style Sheets, một ngôn ngữ tiền xử lý CSS. Cú pháp Css của bạn sẽ được viết dưới dạng Sass, sau đó sẽ được biên dịch qua Css.

Có nhiều loại CSS Preprocessor:

  • Sass
  • Stylus
  • Less
  • ….

Trong bài viết này mình sẽ giới thiệu về Sass.

Scss là gì

Bản thân Sass có 2 kiểu viết, scss là kiểu viết được tạo ra sau. Một kiểu viết có đuôi .sass, một kiểu viết thứ 2 là scss có đuôi là .scss .

Cách viết sass:

Cách viết scss:

cả 2 đều render ra css

Các tiện ích của Sass

  • Đã có một thời gian dài phát triển và được sử dụng rộng rãi
  • Tiết kiệm được thời gian code Css
  • Có cộng đồng rộng lớn
  • Tính tương thích với css cao.

Các quy tắc viết Sass

Mình prefer việc sử dụng Scss hơn là Sass, vì cú pháp vẫn giữ lại dấu ngoặc nhọn (giống vs cú pháp của Css) nên rất dễ hiểu.

Quy tắc xếp chồng (Nested Rule)

Ví dụ mình có một đoạn html

Với cú pháp Css thuần, chúng ta sẽ phải viết như sau

Tuy nhiên chúng ta có thể bỏ qua việc phải viết lại thứ tự các thẻ khi style bằng scss

Variable

Cho phép ta định nghĩa variable, thuận tiện khi định nghĩa các font, kiểu chữ chung trong 1 project.

Variable trong Sass có các scope khác nhau: globalscope thường

Ví dụ:

Thẻ

sẽ có màu đỏ chứ không phải màu xanh.

Nếu sử dụng global scope như sau thì <p> sẽ có màu xanh

Mixin

Trong sass, @mixin cho phép ta tạo ra 1 đoạn code có thể được sử dụng lại.

@include cho phép ta include trực tiếp đoạn code ta đã tạo bằng **@mixin **

VD:

Mixin có thể include mixin khác hay truyền variable vào mixin

Extend

@extend cho phép ta chia sẻ 1 set style css với các phần tử khác.

Khi biên dịch ra css

Import

@import cho phép ta include nội dung của 1 file vào file khác

Css import gọi HTTP request mỗi lần import, còn sass @import thực hiện import trong CSS, cải thiện performance.

VD:

style.scss

main.scss

Sass partial

Mặc định Sass sẽ biên dịch tất cả các file qua css. Tuy nhiên khi import trong sass thì ta không cần biên dịch qua css. Vậy nên ta có thể sử dụng partial để skip việc biên dịch qua css. Cú pháp là ta thêm “_” trước tên file.

VD:

_style.scss (sẽ không bị biên dịch qua css)

Kết luận

Khi làm việc trong dự án thì việc phải viết sass là điều không tránh khỏi bởi hiện nay sass rất phổ biến.

Sass có nhiều tiện ích về cú pháp cho phép ta giảm thời gian code hơn. Cám ơn đã theo dõi bài viết.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo