
Từ macOS Big Sur và iOS đến các trang đích SaaS hiện đại, thẩm mỹ kính mờ (glassmorphism) đã củng cố vị trí của nó trong kỹ thuật giao diện người dùng đương đại. Khi được thực hiện đúng cách, các thẻ kính trong mờ tạo ra chiều sâu, hệ thống phân cấp và cảm giác phân lớp xúc giác mà không làm lộn xộn màn hình bằng các đường phân chia sắc nét.
Tuy nhiên, nhiều cách triển khai gặp phải hai cạm bẫy nghiêm trọng:
Trong bài viết chuyên sâu này, chúng ta sẽ khám phá quy trình tổng hợp GPU nội bộ đằng sau backdrop-filter, khám phá những điều cần lưu ý dành riêng cho Safari và cung cấp các công thức có thể tái sử dụng cho Tailwind CSS.
Interactive frosted glass generator with live Tailwind export
Design modern frosted glass UI with live backdrop-filter sliders, blur, opacity, borders, and copy ready-to-use Tailwind CSS or pure CSS snippets.
backdrop-filterĐể hiểu tại sao backdrop-filter lại hoạt động khác với các thuộc tính CSS tiêu chuẩn như opacity hoặc box-shadow, chúng ta cần xem xét quy trình kết xuất của trình duyệt:
Vì điều này yêu cầu GPU phải đọc từ một bộ đệm đã kết xuất trước khi áp dụng bộ đổ bóng, việc chồng chéo hàng tá thẻ backdrop-filter lớn sẽ gây ra các đợt tăng băng thông bộ nhớ tốn kém.
| Kỹ thuật | Tác động GPU | Chất lượng hình ảnh |
|---|---|---|
| Native backdrop-filter: blur(16px) | Tạo một lớp tổng hợp phần cứng; mượt mà trên GPU hiện đại nhưng bị giảm hiệu suất trên thiết bị di động cấp thấp | Làm mờ động: thích ứng liền mạch với mọi nền cuộn bên dưới nó |
| Nền RGBA bán trong suốt tĩnh | Không tốn chi phí đổ bóng; được kết xuất trong một lần vẽ nhanh duy nhất với cuộn 60fps được đảm bảo | Màu phẳng không có chiều sâu; các mẫu nền hiển thị rõ nét, làm giảm khả năng đọc văn bản |
| Bộ lọc SVG feGaussianBlur | Chi phí CPU cao; có thể gây ra việc vẽ lại phần mềm liên tục nếu không được tăng tốc phần cứng | Các hạt nhân làm mờ vector có thể tùy chỉnh, nhưng khó phối hợp với CSS đáp ứng |
Để tạo ra một thẻ kính mờ hiện đại, chân thực trông bóng bẩy ở cả chế độ sáng và tối, hãy tuân thủ 4 nguyên tắc sau:
rgba)Không bao giờ sử dụng màu hex đục hoàn toàn. Sử dụng màu trắng bán trong suốt (cho chủ đề sáng) hoặc màu xám đậm (cho chủ đề tối) với kênh alpha nằm giữa 0.1 và 0.3:
/* Light Mode */
background-color: rgba(255, 255, 255, 0.2);
/* Dark Mode */
background-color: rgba(15, 23, 42, 0.4);
backdrop-filter)Bán kính làm mờ nằm giữa 12px và 24px mang lại sự cân bằng hoàn hảo giữa độ khuếch tán mượt mà và hiệu quả GPU. Luôn ghép nối nó với tiền tố -webkit- cho WebKit và các công cụ iOS cũ hơn:
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
Kính thật bắt sáng dọc theo các cạnh vát của nó. Mô phỏng điều này bằng cách áp dụng đường viền 1px với độ trong suốt cao:
border: 1px solid rgba(255, 255, 255, 0.25);
Đặt thẻ trên các nền bận rộn với bóng hộp mềm, nhiều lớp:
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.12);
Tailwind CSS hiện đại giúp việc áp dụng bốn trụ cột này trở nên cực kỳ ngắn gọn thông qua các lớp tiện ích nền tích hợp:
<div className="rounded-2xl border border-white/30 bg-white/20 p-6 shadow-xl backdrop-blur-md">
<h3 className="text-xl font-bold text-gray-900">Analytics Overview</h3>
<p className="mt-2 text-gray-700">Real-time metrics composited with zero lag.</p>
</div>
<div className="rounded-2xl border border-white/10 bg-slate-900/40 p-6 shadow-2xl backdrop-blur-lg">
<h3 className="text-xl font-bold text-white">System Diagnostics</h3>
<p className="mt-2 text-slate-300">GPU layer composited smoothly across all devices.</p>
</div>
-webkit-backdrop-filterSafari trong lịch sử đã gặp phải các lỗi tổng hợp khi áp dụng border-radius và overflow: hidden cho một phần tử có backdrop-filter khiến nền mờ bị rò rỉ qua các góc bo tròn trong quá trình cuộn.
Bạn có thể khắc phục các lỗi cắt xén trong Safari bằng cách gợi ý rõ ràng việc tổng hợp phần cứng cho công cụ trình duyệt:
.glass-card {
border-radius: 20px;
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
/* Safari fix: force hardware layer clipping */
transform: translate3d(0, 0, 0);
-webkit-backface-visibility: hidden;
will-change: transform;
}
Các thẻ trong mờ rất nguy hiểm khi được đặt trên các hình ảnh hoặc gradient không thể đoán trước. Nếu một phần tử nền sáng cuộn phía sau văn bản sáng, độ tương phản sẽ giảm ngay lập tức.
text-gray-900 hoặc text-white), không phải text-white/60.0.8 trên :focus để đảm bảo đầu vào dễ đọc.prefers-reduced-transparency: Các truy vấn phương tiện CSS hiện đại cho phép bạn cung cấp một phương án dự phòng vững chắc cho người dùng có độ nhạy cảm về thị giác:@media (prefers-reduced-transparency: reduce) {
.glass-card {
backdrop-filter: none;
-webkit-backdrop-filter: none;
background-color: #ffffff;
}
}
Tại sao việc sử dụng quá nhiều backdrop-filter lại ảnh hưởng đến hiệu suất cuộn trên thiết bị di động?
Làm sạch log AI CLI, tạo biểu thức cron, giải mã JWT và tính quyền chmod offline.

Tailwind CSS v4 mang đến những cải tiến hiệu suất vượt trội, một engine mới và thiết lập không cần cấu hình. Khám phá các tính năng mới và tìm hiểu cách di chuyển các dự án hiện có của bạn.
Đọc tiếp
Đừng đoán mò nữa. Hãy xem CSS Grid và Flexbox song song với các bản demo tương tác trực tiếp, cây quyết định và các mẫu bố cục thực tế mà bạn có thể chỉnh sửa ngay trong trình duyệt của mình.
Đọc tiếp
Tìm hiểu cách làm chủ các hoạt ảnh CSS tăng tốc phần cứng, sự khác biệt giữa chuyển đổi CSS và độ mờ, và khi nào nên sử dụng hoạt ảnh lò xo CSS.
Đọc tiếp