Glassmorphism là gì? Khi nào dùng kính mờ trên UI (và khi nào tránh)【2026】
Glassmorphism = kính mờ có chủ đích: xuyên thấu + blur nền sau + viền mỏng. Dùng khi cần tách lớp trên nền giàu hình (hero card, nav, modal) và chấp nhận trade-off GPU/contrast. Tránh trên form dài, bảng dày, UI đọc cả ngày, hoặc blur phủ full viewport. Quyết định bằng checklist bên dưới; tinh chỉnh số bằng Glassmorphism.
Khách gửi moodboard “giống VisionOS / card Apple”. Dev hỏi: có bắt buộc làm kính không? Câu trả lời đúng không phải “có vì đang trend”, mà kính giải quyết bài toán phân tầng nào — và có phá đọc / perf không. Bài này tập trung định nghĩa + khi nào dùng trên UI, không phải tutorial từng dòng CSS (xem bài tutorial nếu bạn đã quyết định làm card).
Bài viết này giúp bạn
- Hiểu glassmorphism khác flat / neumorphism chỗ nào
- Có ma trận khi dùng / khi tránh theo loại màn hình
- Checklist quyết định cho sprint / brief khách
- Case study keep vs kill
- Đường dẫn sang generator khi đã chốt “có kính”
Glassmorphism là gì?
Glassmorphism (thường gọi frosted glass / kính mờ) là ngôn ngữ thị giác UI trong đó một bề mặt:
- Bán trong suốt — nhìn thấy gợi ý nội dung phía sau
- Làm mờ phần phía sau — trong CSS hiện đại chủ yếu nhờ
backdrop-filter: blur() - Tách cạnh — border sáng/tối mỏng, bo góc, đôi khi shadow mềm
Khác với chỉ giảm opacity một panel xám: không có blur nền sau thì hầu như không còn “kính”, chỉ còn overlay.
Về mặt sản phẩm, kính dùng để nói: “lớp này nằm phía trên, nhưng ngữ cảnh bên dưới vẫn còn.” Nav mờ trên dashboard, card giá trên hero ảnh, modal trên feed — đều là bài toán layering.
/* Bản chất kỹ thuật (rút gọn) — đủ để nhận diện pattern */
.surface-glass {
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 16px;
}
So với flat và neumorphism
| Phong cách | Cơ chế | Điểm mạnh / rủi ro |
|---|---|---|
| Flat | Màu phẳng, ít shadow giả | Đọc rõ, dễ a11y. Rủi ro: thiếu ‘wow’ marketing nếu brief đòi premium. |
| Neumorphism | Shadow sáng + tối trên cùng tông nền | Mềm, ‘đúc nổi’. Rủi ro: contrast thấp, khó trên nền phức tạp. |
| Glassmorphism | Alpha + blur nền phía sau | Depth rõ trên ảnh/gradient. Rủi ro: GPU, chữ chết, lạm dụng full-page. |
Rule thực dụng:
- Brief “admin sạch, làm việc 8 giờ” → flat (hoặc flat + shadow nhẹ).
- Brief “widget trên nền đơn sắc pastel” → cân nhắc neumorphism (cẩn thận contrast).
- Brief “landing/hero có ảnh hoặc mesh gradient, cần card nổi” → glass hợp lý hơn.
Không bắt buộc chọn một phong cách cho cả sản phẩm. Nhiều SaaS: flat cho app, glass chỉ cho marketing site.
Khi nào NÊN dùng trên UI
1. Hero / marketing có nền giàu hình
Ảnh sản phẩm, gradient mesh, illustration phức tạp — blur giúp card CTA “nằm trên” mà không cần box đặc kín che mất brand visual.
Dấu hiệu hợp: designer đã chuẩn bị ảnh nền; nội dung trên kính ngắn (headline + 1 nút + 2–3 dòng).
2. Navigation / thanh công cụ nổi
Nav sticky trong suốt giúp user vẫn thấy nội dung cuộn phía sau — cảm giác “app hiện đại”. Alpha thường cao hơn card hero (0.55–0.8) vì chữ menu phải ổn định.
3. Modal / sheet cần giữ ngữ cảnh
Làm mờ (và tối) nền sau modal giúp focus dialog mà không cắt hoàn toàn ngữ cảnh trang. Ở đây kính là một phần của overlay strategy (thường kèm scrim tối).
4. Accent trên dashboard
Một widget “nổi” (ví dụ summary KPI) trên nền chart — được; mọi widget đều kính — không.
| Tình huống | Nên kính? | Ghi chú |
|---|---|---|
| Landing hero + 1 pricing card | Có | Giới hạn 1 card kính nổi |
| Top nav sticky trên blog/docs | Có (nhẹ) | Alpha cao, blur vừa |
| Modal xác nhận xóa | Có thể | Ưu tiên scrim + contrast chữ |
| Form đăng ký 12 field | Không | Đọc lâu → solid |
| Bảng đơn hàng 50 hàng | Không | Mật độ thông tin |
| App chấm công nội bộ Android yếu | Hiếm khi | Flat + contrast |
Khi nào TRÁNH (dù “đẹp trên Dribbble”)
1. Đọc lâu / mật độ cao
Blog dài, tài liệu API, spreadsheet UI — kính làm nền “nhảy” khi scroll, mệt mắt.
2. Không có gì phía sau để blur
Nền #fff hoặc #0f172a phẳng: glass trở thành panel xám vô nghĩa. Hãy flat cho xong.
3. Nhiều lớp kính chồng
Card kính trong panel kính trên nav kính — contrast mất kiểm soát, GPU cộng dồn.
4. Đối tượng thiết bị yếu là chính
Nhiều user VN dùng điện thoại Android RAM 4–6GB. Blur lớn + scroll dài = giật. Marketing site có thể chấp nhận 1 vùng; app field-worker thì không.
5. Yêu cầu a11y / WCAG nghiêm
Chữ trên nền thay đổi theo scroll khó đảm bảo contrast ổn định. Nếu phải glass, tăng alpha và đo contrast trên từng ảnh nền.
6. Brief “giống Apple” nhưng sản phẩm là CRUD
Moodboard ≠ IA. Thuyết phục khách: kính trên landing; màn hình làm việc giữ flat.
Checklist quyết định (in ra / dán PR)
Trả lời Có càng nhiều ở nhóm A, Không càng nhiều ở nhóm B → càng nên làm kính.
Nhóm A — tín hiệu nên dùng
- Có ảnh/gradient/mesh phía sau bề mặt dự kiến
- Nội dung trên kính ngắn (≤ ~80 từ hoặc nav ít item)
- Chỉ 1–2 bề mặt kính / viewport
- Mục tiêu chính là cảm giác premium / phân tầng marketing
- Đã có kế hoạch test trên điện thoại tầm trung
Nhóm B — tín hiệu tránh
- Form/bảng/đọc dài là nhiệm vụ chính
- Nền gần như một màu
- Đã có nhiều layer blur/animation nặng
- Đối tượng chính là máy yếu hoặc WebView cũ
- Chưa đo được contrast chữ trên ảnh thật
Quyết định nhanh: ≥3 tick nhóm A và ≤1 tick nhóm B → prototype kính. Ngược lại → flat + shadow; giữ moodboard cho trang marketing.
Case study: keep vs kill
Keep — Portfolio freelancer
Hero ảnh workspace + card “Thuê mình” 3 dòng. Blur 12px, alpha 0.25, một card duy nhất. Khách cảm thấy “xịn”; Lighthouse không đau vì chỉ một vùng. Dùng generator để chốt số rồi copy vào Astro.
Kill — Admin đơn hàng cho shop
Designer đề xuất mọi card filter đều kính trên nền chart realtime. QA trên máy nhân viên kho: scroll danh sách giật, chữ mã đơn hàng khó đọc khi chart đổi màu. Đổi sang flat #fff / dark solid; giữ glass chỉ trên landing quảng cáo shop.
Bài học: cùng một hệ thống design có thể flat trong app + glass ngoài marketing — không phải phản bội brand.
Từ quyết định sang CSS (không lan man)
Khi checklist bảo “làm”, đừng đoán số:
- Mở Glassmorphism CSS Generator — chỉnh Blur, opacity nền, opacity viền, radius trên trình duyệt.
- Copy CSS vào HTML gắn ảnh nền thật của dự án.
- Nếu chữ yếu → tăng alpha; nếu hết “kính” → giảm alpha hoặc đổi nền.
- Tutorial chi tiết từng bước HTML/CSS: Tutorial glass card.
- Khi ship landing (fallback, perf, contrast): Glassmorphism trên landing.
Công cụ chạy local trên trình duyệt — phù hợp freelance không muốn upload mock lên dịch vụ lạ.
Tóm tắt một dòng cho standup
“Kính chỉ khi cần thấy lớp dưới và nền đủ phức tạp; một–hai bề mặt; còn lại flat. Không kính vì Dribbble.”