SASS (Syntactically Awesome Style Sheets) là một CSS preprocessor, một công cụ mạnh mẽ giúp việc viết CSS trở nên nhanh chóng, dễ dàng và hiệu quả hơn. SASS được thiết kế để giúp các nhà phát triển web viết các quy tắc kiểu dáng một cách có cấu trúc và rõ ràng hơn, hỗ trợ biến, lồng nhau, kế thừa và các tính năng nâng cao khác mà CSS thuần túy không có.
Hai Cú Pháp: SASS và SCSS
SASS hỗ trợ hai cú pháp là SASS và SCSS. Cú pháp SASS (đôi khi được gọi là "syntax indented") sử dụng thụt lề để phân biệt các khối mã và không sử dụng dấu ngoặc nhọn hay dấu chấm phẩy. Điều này làm cho mã nguồn trông gọn gàng và sạch sẽ nhưng có thể khó đọc đối với những người quen với CSS.
SCSS (Sassy CSS), mặt khác, là cú pháp mới hơn và sử dụng cú pháp tương tự như CSS. Điều này làm cho SCSS dễ tiếp cận hơn đối với những người đã quen thuộc với CSS. SCSS là cú pháp được ưa chuộng hơn vì tính tương thích và dễ dàng chuyển đổi từ CSS.
Tính Năng Chính của SASS/SCSS
1. Biến (Variables)
Biến cho phép bạn tái sử dụng giá trị trên nhiều nơi trong stylesheet của mình. Điều này giúp quản lý các giá trị màu sắc, kích thước font, và các đơn vị khác một cách dễ dàng
scss
$primary-color: #333;
$font-stack: Helvetica, sans-serif;
body {
color: $primary-color;
font-family: $font-stack;
}
2. Lồng Nhau (Nesting)
Lồng nhau cho phép bạn viết CSS theo cách mà phản ánh phần tử DOM của HTML, làm cho mã nguồn dễ đọc và dễ bảo trì hơn
scss
.navbar {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
3. Mixin
Mixin cho phép bạn tạo các nhóm khai báo CSS để tái sử dụng trên toàn bộ stylesheet
scss
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
.box { @include border-radius(10px); }
4. Kế Thừa (Extend)
Kế thừa cho phép một selector kế thừa tất cả các style của selector khác mà không cần phải sao chép và dán
scss
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
@extend .message;
border-color: green;
}
Kết Luận
SASS/SCSS mang lại nhiều lợi ích cho việc phát triển web bằng cách cung cấp các công cụ mạnh mẽ để viết CSS một cách hiệu quả và có tổ chức. Với các tính năng như biến, lồng nhau, mixin và kế thừa, SASS/SCSS giúp các nhà phát triển tạo ra các trang web đáp ứng nhanh chóng và dễ dàng bảo trì hơn.