Pattern 7-1 (hay còn gọi là Sass 7-1 Architecture hoặc 7-1 Pattern) là một kiến trúc tổ chức file Sass phổ biến, giúp quản lý, bảo trì và mở rộng mã CSS một cách dễ dàng, đặc biệt khi làm việc với dự án lớn.
1. Giải thích nhanh 7-1 pattern:
- “7” là số thư mục con bên trong thư mục
sass/(hoặcscss/) - “1” là một file
main.scss(hoặcstyle.scss) duy nhất, nơi tổng hợp (import) tất cả các file Sass con lại.
2. Cấu trúc thư mục chuẩn của 7-1 pattern
Thư mục demo qua sơ đồ code:
sass/
├── abstracts/ // Biến, mixin, function, placeholder
├── base/ // Reset, typography, HTML tag mặc định
├── components/ // Button, card, modal, form,...
├── layout/ // Header, footer, sidebar, grid,...
├── pages/ // Style riêng từng trang (home, about,...)
├── themes/ // Chủ đề giao diện (dark/light theme,...)
├── vendors/ // Thư viện bên thứ 3 (Bootstrap, Normalize.css,...)
└── main.scss // File chính import các file trênDemo qua hình ảnh:

Mô tả chi tiết từng thư mục:
| Thư mục | Nội dung |
|---|---|
abstracts/ | Các biến (_variables.scss), mixin, function, placeholder. |
base/ | Style gốc, ví dụ: reset, normalize, default typography. |
components/ | Các thành phần UI nhỏ: button, card, form, tab, modal,… |
layout/ | Các phần bố cục chính: header, footer, sidebar, grid system,… |
pages/ | Style riêng cho từng trang (nếu khác biệt rõ). |
themes/ | Màu chủ đề, light/dark, theme switcher. |
vendors/ | CSS của thư viện ngoài (nếu dùng). |
main.scss | Import tất cả các file bên trên, chỉ file này được compile ra CSS. |
Ví dụ trong main.scss:
// 1. Abstracts
@use 'abstracts/variables';
@use 'abstracts/mixins';
// 2. Base
@use 'base/reset';
@use 'base/typography';
// 3. Layout
@use 'layout/header';
@use 'layout/footer';
// 4. Components
@use 'components/button';
@use 'components/card';
// 5. Pages
@use 'pages/home';
@use 'pages/about';
// 6. Themes
@use 'themes/light';
@use 'themes/dark';
// 7. Vendors
@use 'vendors/bootstrap';
Chỉ file
main.scssđược build ra CSS cuối cùng (VD: dùngsass main.scss main.css), các file còn lại chỉ là module.
3. Lợi ích của 7-1 Pattern
- Dễ mở rộng cho nhóm nhiều dev cùng làm việc.
- Rõ ràng, dễ quản lý khi dự án lớn.
- Tái sử dụng cao, tách biệt giữa cấu trúc, component và theme.
- Tận dụng tốt nguyên lý Separation of Concerns (tách biệt trách nhiệm) trong phát triển web.