Tan Phat Media

Browser Compatibility Checker

Tra nhanh mức hỗ trợ của 53 tính năng CSS/JS phổ biến trên Chrome, Firefox, Safari và Edge

Bảng dữ liệu biên soạn tháng 9/2026 dựa theo caniuse.com và MDN, dùng để tra cứu nhanh. Mức hỗ trợ trình duyệt thay đổi liên tục theo từng bản phát hành, nên với quyết định mang tính sản xuất — nhất là khi cần biết chính xác phiên bản tối thiểu người dùng của bạn đang chạy — hãy kiểm tra lại trực tiếp trên caniuse.com hoặc bảng tương thích của MDN trước khi chốt.

Bảng hỗ trợ (53 tính năng)
Tính năngChromeFirefoxSafariEdge
CSS Grid Layout
Bố cục lưới hai chiều
Hỗ trợ
57+
Hỗ trợ
52+
Hỗ trợ
10.1+
Hỗ trợ
16+
Flexbox
Bố cục một chiều linh hoạt
Hỗ trợ
29+
Hỗ trợ
28+
Hỗ trợ
9+
Hỗ trợ
12+
gap trong Flexbox
Khoảng cách giữa item flex mà không cần margin
Hỗ trợ
84+
Hỗ trợ
63+
Hỗ trợ
14.1+
Hỗ trợ
84+
CSS :has()
Chọn phần tử dựa trên phần tử con hoặc kế tiếp
Firefox là trình duyệt lớn cuối cùng hỗ trợ, ổn định từ bản 121 (12/2023).
Hỗ trợ
105+
Hỗ trợ
121+
Hỗ trợ
15.4+
Hỗ trợ
105+
Container Queries (kích thước)
Style theo kích thước phần tử cha thay vì viewport
Hỗ trợ
105+
Hỗ trợ
110+
Hỗ trợ
16+
Hỗ trợ
105+
CSS Nesting (native)
Lồng selector trực tiếp không cần Sass/Less
Hỗ trợ
112+
Hỗ trợ
117+
Hỗ trợ
16.5+
Hỗ trợ
112+
backdrop-filter
Áp bộ lọc (mờ, tương phản...) lên nền phía sau phần tử
Hỗ trợ
76+
Hỗ trợ
103+
Một phần
9+ (cần tiền tố -webkit-)
Hỗ trợ
79+
aspect-ratio
Ấn định tỉ lệ khung hình cho phần tử
Hỗ trợ
88+
Hỗ trợ
89+
Hỗ trợ
15+
Hỗ trợ
88+
View Transitions API (cùng tài liệu)
Hiệu ứng chuyển cảnh mượt khi đổi trạng thái DOM
Chuyển cảnh giữa hai tài liệu (điều hướng đa trang) mới chỉ có ở Chrome/Edge 126+ và Safari 18.2+, Firefox chưa hỗ trợ phần này.
Hỗ trợ
111+
Hỗ trợ
144+
Hỗ trợ
18+
Hỗ trợ
111+
BarcodeDetector API
Quét mã vạch/QR trực tiếp từ ảnh hoặc luồng camera
Chỉ hoạt động trên trình duyệt nền Chromium, nên dùng thư viện JS thay thế (vd. ZXing) nếu cần chạy đa trình duyệt.
Một phần
83+ (chỉ Chromium)
Không
Không hỗ trợ
Không
Không hỗ trợ
Một phần
83+ (chỉ Chromium)
Web Share API
Gọi hộp thoại chia sẻ gốc của hệ điều hành
Hỗ trợ
89+ (desktop); Android sớm hơn
Không
Không hỗ trợ trên desktop
Hỗ trợ
12.1+ (iOS); 16.4+ (macOS)
Hỗ trợ
93+
Thẻ <dialog>
Hộp thoại modal gốc của trình duyệt
Hỗ trợ
37+
Hỗ trợ
98+
Hỗ trợ
15.4+
Hỗ trợ
79+
Thẻ <details>/<summary>
Khối nội dung thu gọn/mở rộng không cần JS
Hỗ trợ
12+
Hỗ trợ
49+
Hỗ trợ
6+
Hỗ trợ
79+
Optional Chaining (?.)
Truy cập thuộc tính lồng nhau an toàn
Hỗ trợ
80+
Hỗ trợ
74+
Hỗ trợ
13.1+
Hỗ trợ
80+
Nullish Coalescing (??)
Giá trị dự phòng chỉ khi null/undefined
Hỗ trợ
80+
Hỗ trợ
72+
Hỗ trợ
13.1+
Hỗ trợ
80+
structuredClone()
Deep clone gốc không cần JSON.parse/stringify
Hỗ trợ
98+
Hỗ trợ
94+
Hỗ trợ
15.4+
Hỗ trợ
98+
Array.prototype.at()
Lấy phần tử theo chỉ số kể cả số âm
Hỗ trợ
92+
Hỗ trợ
90+
Hỗ trợ
15.4+
Hỗ trợ
92+
Top-level await
Dùng await ở cấp module mà không cần bọc async
Hỗ trợ
89+
Hỗ trợ
89+
Hỗ trợ
15+
Hỗ trợ
89+
ES Modules (type="module")
Import/export module gốc trên trình duyệt
Hỗ trợ
61+
Hỗ trợ
60+
Hỗ trợ
10.1+
Hỗ trợ
16+
Import Maps
Ánh xạ tên module sang URL mà không cần bundler
Hỗ trợ
89+
Hỗ trợ
108+
Hỗ trợ
16.4+
Hỗ trợ
89+
ResizeObserver
Theo dõi thay đổi kích thước phần tử
Hỗ trợ
64+
Hỗ trợ
69+
Hỗ trợ
13.1+
Hỗ trợ
79+
IntersectionObserver
Theo dõi phần tử giao với viewport (lazy-load, infinite scroll)
Hỗ trợ
51+
Hỗ trợ
55+
Hỗ trợ
12.1+
Hỗ trợ
15+
Định dạng ảnh WebP
Ảnh nén hiệu quả hơn JPEG/PNG
Hỗ trợ
23+
Hỗ trợ
65+
Hỗ trợ
14+
Hỗ trợ
18+
Định dạng ảnh AVIF
Nén tốt hơn WebP, hỗ trợ HDR
Hỗ trợ
85+
Hỗ trợ
93+
Hỗ trợ
16.1+
Hỗ trợ
85+
fetch()
Gọi mạng thay thế XMLHttpRequest
Hỗ trợ
42+
Hỗ trợ
39+
Hỗ trợ
10.1+
Hỗ trợ
14+
Service Workers
Chạy nền phục vụ cache và offline
Hỗ trợ
40+
Hỗ trợ
44+
Hỗ trợ
11.1+
Hỗ trợ
17+
WebSockets
Kết nối hai chiều thời gian thực
Hỗ trợ
16+
Hỗ trợ
11+
Hỗ trợ
7+
Hỗ trợ
12+
CSS Custom Properties (biến CSS)
Biến dùng lại giá trị trong CSS
Hỗ trợ
49+
Hỗ trợ
31+
Hỗ trợ
9.1+
Hỗ trợ
15+
CSS clamp()
Giá trị co giãn có chặn trên và chặn dưới
Hỗ trợ
79+
Hỗ trợ
75+
Hỗ trợ
13.1+
Hỗ trợ
79+
CSS :is()
Gộp nhiều selector thành một nhóm ngắn gọn
Hỗ trợ
88+
Hỗ trợ
78+
Hỗ trợ
14+
Hỗ trợ
88+
CSS :where()
Giống :is() nhưng độ đặc hiệu bằng 0
Hỗ trợ
88+
Hỗ trợ
78+
Hỗ trợ
14+
Hỗ trợ
88+
CSS Scroll Snap
Cuộn tự dừng khớp vào từng phần tử
Hỗ trợ
69+
Hỗ trợ
68+
Hỗ trợ
11+
Hỗ trợ
79+
CSS position: sticky
Phần tử dính lại khi cuộn qua ngưỡng
Hỗ trợ
56+
Hỗ trợ
32+
Hỗ trợ
13+ (iOS sớm hơn, có tiền tố)
Hỗ trợ
16+
CSS Subgrid
Lưới con kế thừa track từ lưới cha
Hỗ trợ
117+
Hỗ trợ
71+
Hỗ trợ
16+
Hỗ trợ
117+
CSS accent-color
Đổi màu checkbox, radio, progress gốc
Hỗ trợ
93+
Hỗ trợ
92+
Hỗ trợ
15.4+
Hỗ trợ
93+
CSS :focus-visible
Chỉ hiện viền focus khi điều hướng bằng bàn phím
Hỗ trợ
86+
Hỗ trợ
85+
Hỗ trợ
15.4+
Hỗ trợ
86+
CSS @layer (Cascade Layers)
Kiểm soát thứ tự ưu tiên giữa các nhóm CSS
Hỗ trợ
99+
Hỗ trợ
97+
Hỗ trợ
15.4+
Hỗ trợ
99+
CSS color-mix()
Trộn hai màu theo tỉ lệ ngay trong CSS
Hỗ trợ
111+
Hỗ trợ
113+
Hỗ trợ
16.4+
Hỗ trợ
111+
Web Components (Custom Elements v1)
Định nghĩa thẻ HTML tuỳ biến có vòng đời riêng
Hỗ trợ
54+
Hỗ trợ
63+
Hỗ trợ
10.1+
Hỗ trợ
79+
Shadow DOM v1
Đóng gói DOM và CSS cô lập cho component
Hỗ trợ
53+
Hỗ trợ
63+
Hỗ trợ
10+
Hỗ trợ
79+
WebAssembly
Chạy mã biên dịch sẵn với tốc độ gần native
Hỗ trợ
57+
Hỗ trợ
52+
Hỗ trợ
11+
Hỗ trợ
16+
Clipboard API (navigator.clipboard)
Đọc/ghi clipboard không qua execCommand
Hỗ trợ
66+
Hỗ trợ
63+ (ghi); đọc bị giới hạn quyền
Hỗ trợ
13.1+
Hỗ trợ
79+
Web Push API
Gửi thông báo đẩy kể cả khi tab đã đóng
Hỗ trợ
50+
Hỗ trợ
44+
Hỗ trợ
16+ (macOS); 16.4+ (iOS, cần thêm vào màn hình chính)
Hỗ trợ
17+
Payment Request API
Form thanh toán chuẩn hoá của trình duyệt
Hỗ trợ
61+
Không
Đã gỡ bỏ khỏi Firefox từ năm 2021
Không
Dùng Apple Pay JS riêng thay thế
Hỗ trợ
15+
WebRTC
Truyền video/audio/dữ liệu ngang hàng thời gian thực
Hỗ trợ
28+
Hỗ trợ
22+
Hỗ trợ
11+
Hỗ trợ
79+
Web Workers
Chạy JS ở luồng nền, không chặn giao diện
Hỗ trợ
4+
Hỗ trợ
3.5+
Hỗ trợ
4+
Hỗ trợ
12+
IndexedDB
Cơ sở dữ liệu NoSQL phía trình duyệt
Hỗ trợ
24+
Hỗ trợ
16+
Hỗ trợ
10+
Hỗ trợ
12+
Thẻ <picture>
Chọn ảnh theo điều kiện viewport hoặc định dạng
Hỗ trợ
38+
Hỗ trợ
38+
Hỗ trợ
9.1+
Hỗ trợ
13+
CSS text-wrap: balance
Tự cân dòng cuối cho tiêu đề nhiều dòng
Hỗ trợ
114+
Hỗ trợ
121+
Hỗ trợ
17.5+
Hỗ trợ
114+
Popover API (thuộc tính popover)
Lớp phủ nổi gốc không cần thư viện JS
Hỗ trợ
114+
Hỗ trợ
125+
Hỗ trợ
17+
Hỗ trợ
114+
CSS Anchor Positioning
Neo vị trí một phần tử theo phần tử khác
Hỗ trợ
125+
Không
Đang trong quá trình chuẩn hoá
Không
Đang trong quá trình chuẩn hoá
Hỗ trợ
125+
requestIdleCallback
Lên lịch tác vụ chạy lúc trình duyệt rảnh
Hỗ trợ
47+
Hỗ trợ
55+
Không
Dùng setTimeout hoặc requestAnimationFrame thay thế
Hỗ trợ
79+
CSS gap trong Grid
Khoảng cách giữa các track lưới
Hỗ trợ
57+ (tên cũ grid-gap)
Hỗ trợ
52+
Hỗ trợ
10.1+
Hỗ trợ
16+

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Tra cứu nhanh mức hỗ trợ CSS và JavaScript trên bốn trình duyệt chính

Bảng tra cứu tự chứa gồm hơn năm mươi tính năng CSS và JavaScript hiện đại được tìm kiếm nhiều nhất, kèm phiên bản trình duyệt bắt đầu hỗ trợ trên Chrome, Firefox, Safari và Edge. Lọc theo tên tính năng hoặc theo nhóm CSS, JavaScript, Web API để nhanh chóng biết một API hay thuộc tính có dùng được an toàn cho tệp người dùng của bạn hay chưa, mà không cần rời khỏi trang.

Tính năng nổi bật

  • Hơn năm mươi tính năng CSS, JavaScript và Web API được tuyển chọn theo mức độ tìm kiếm và mức độ dùng phổ biến trong dự án thực tế
  • Mỗi tính năng hiện phiên bản bắt đầu hỗ trợ ổn định trên Chrome, Firefox, Safari và Edge
  • Phân ba mức hỗ trợ rõ ràng: hỗ trợ đầy đủ, hỗ trợ một phần kèm ghi chú điều kiện, và không hỗ trợ
  • Ô tìm kiếm lọc theo tên hoặc mô tả tính năng, không cần cuộn qua toàn bộ bảng
  • Bộ lọc theo nhóm CSS, JavaScript, Web API để thu hẹp phạm vi tra cứu
  • Ghi chú riêng cho các trường hợp đặc biệt, ví dụ tính năng cần tiền tố trình duyệt hoặc chỉ hỗ trợ một phần chức năng
  • Dữ liệu biên soạn và đối chiếu với caniuse.com, MDN tại thời điểm xuất bản, không tự suy đoán số phiên bản
  • Hoạt động hoàn toàn ngoại tuyến sau khi tải trang, không gọi API bên ngoài để lấy dữ liệu hỗ trợ

Vì sao cần một bảng tra cứu tự chứa thay vì luôn mở caniuse.com

caniuse.com và bảng tương thích của MDN là hai nguồn tham chiếu chuẩn xác và cập nhật nhất cho câu hỏi "tính năng này dùng được từ phiên bản nào", và công cụ này không có tham vọng thay thế hai nguồn đó. Vấn đề thực tế là trong lúc code, việc phải mở tab mới, gõ tên tính năng, chờ trang tải, rồi đọc một bảng dữ liệu dày đặc thường làm gián đoạn luồng làm việc hơn mức cần thiết cho một câu hỏi tra cứu nhanh. Công cụ này gom sẵn những tính năng hay được hỏi nhất — từ CSS Grid, :has(), container queries cho tới structuredClone, top-level await, Web Share API — vào một bảng duy nhất có thể lọc và tìm kiếm ngay lập tức, phù hợp cho việc kiểm tra nhanh trong lúc viết mã hoặc trong buổi họp quyết định có nên dùng một tính năng mới hay chưa. Với quyết định thực sự quan trọng, đặc biệt khi cần biết chính xác đến từng bản build của Safari trên iOS, việc mở lại caniuse.com vẫn là bước không thể bỏ qua.

Lợi ích khi sử dụng

  • Tra cứu nhanh ngay trong lúc code mà không cần rời trang hay chờ tải một trang bên ngoài
  • Gom sẵn những tính năng hay được hỏi nhất, không cần nhớ tên chính xác theo caniuse.com
  • Phân loại rõ ba mức hỗ trợ thay vì chỉ có hoặc không, phản ánh đúng thực tế nhiều tính năng chỉ hỗ trợ một phần
  • Ghi chú điều kiện đặc biệt ngay tại chỗ, ví dụ tiền tố trình duyệt hay giới hạn nền tảng
  • Không cần kết nối mạng sau khi tải trang, phù hợp để tra cứu nhanh cả khi mạng chậm

Cách dùng Browser Compatibility Checker

  1. 1Gõ tên tính năng bạn cần tra vào ô tìm kiếm, ví dụ "has", "container", "backdrop" hoặc "share".
  2. 2Hoặc bấm vào một trong ba nhóm CSS, JavaScript, Web API để thu hẹp danh sách theo loại tính năng.
  3. 3Đọc badge màu ở mỗi ô trình duyệt: xanh lá là hỗ trợ đầy đủ, vàng là hỗ trợ một phần kèm ghi chú điều kiện, đỏ là chưa hỗ trợ.
  4. 4Chú ý phần ghi chú màu vàng bên dưới tên tính năng nếu có, vì đó thường là điều kiện quan trọng như cần tiền tố trình duyệt hoặc chỉ hỗ trợ một phần chức năng.
  5. 5Với quyết định ảnh hưởng tới sản xuất, đối chiếu lại số phiên bản chính xác trên caniuse.com hoặc MDN, đặc biệt nếu tệp người dùng của bạn còn dùng trình duyệt phiên bản cũ.

Vì sao một tính năng có thể vừa "hỗ trợ" vừa cần điều kiện đi kèm

Rất nhiều tính năng web hiện đại không đi vào trình duyệt trong một lần duy nhất mà qua nhiều giai đoạn: trước tiên chạy sau một cờ thử nghiệm (flag) mà người dùng phải tự bật, sau đó chạy mặc định nhưng cần tiền tố nhà cung cấp như -webkit-, rồi cuối cùng mới chuẩn hóa không cần tiền tố. backdrop-filter là ví dụ điển hình: Safari hỗ trợ tính năng này từ rất sớm nhưng bắt buộc dùng tiền tố -webkit-backdrop-filter trong một thời gian dài trước khi thống nhất cú pháp chuẩn. Một ví dụ khác là BarcodeDetector API, hiện chỉ chạy trên các trình duyệt nền Chromium như Chrome và Edge, hoàn toàn không có trong Firefox hay Safari và cũng chưa có lộ trình công khai để hai trình duyệt đó triển khai. Vì vậy bảng dữ liệu này cố tình tách riêng cột ghi chú thay vì chỉ hiện một dấu tích hay dấu gạch đơn giản, để bạn biết chính xác điều kiện cần đáp ứng trước khi đưa tính năng vào sản phẩm.

Baseline là gì và vì sao nó đáng chú ý hơn số phiên bản của từng trình duyệt riêng lẻ

Từ vài năm gần đây, nhóm phát triển web tại Google, Mozilla và các bên liên quan khác giới thiệu khái niệm Baseline: một tính năng được gắn nhãn Baseline khi nó đã được toàn bộ các trình duyệt chính hỗ trợ ổn định, nghĩa là an toàn để dùng trong sản phẩm mà không cần polyfill hay kiểm tra hỗ trợ riêng lẻ cho từng trình duyệt. Baseline có hai mức: "Newly available" nghĩa là mới đạt hỗ trợ đầy đủ trên cả bốn trình duyệt lớn, và "Widely available" nghĩa là đã đạt mức đó ổn định trong ít nhất ba mươi tháng, đủ lâu để phần lớn người dùng đã cập nhật trình duyệt lên phiên bản hỗ trợ. Cách đọc bảng dữ liệu ở trên gần giống tinh thần Baseline: nếu cả bốn cột đều hiện badge xanh lá, tính năng đó gần như chắc chắn dùng an toàn cho phần lớn tệp người dùng phổ thông; nếu có dù chỉ một cột đỏ hoặc vàng, cần cân nhắc kỹ đối tượng người dùng thực tế của sản phẩm trước khi quyết định.

Vì sao Safari thường là trình duyệt hỗ trợ chậm nhất với các API JavaScript mới

Đây là một khuôn mẫu lặp lại nhiều lần trong lịch sử phát triển web nền tảng: các API mới thường xuất hiện trên Chrome trước tiên vì đội ngũ Chromium tích cực đề xuất và triển khai thử nghiệm các đặc tả mới, Firefox thường theo sau trong vòng một tới hai năm, còn Safari — vốn phải đồng bộ với chu kỳ phát hành hệ điều hành của Apple thay vì phát hành độc lập như các trình duyệt khác — thường là bên cuối cùng hỗ trợ đầy đủ, đặc biệt với các Web API liên quan tới phần cứng hoặc tương tác hệ thống như BarcodeDetector, Web Share API bản desktop, hay Payment Request API. Điều này không có nghĩa Safari kém về mặt kỹ thuật, mà phản ánh triết lý thận trọng của Apple với việc mở rộng bề mặt API có thể ảnh hưởng tới quyền riêng tư hoặc bảo mật, cùng với ràng buộc lịch phát hành gắn liền với iOS và macOS. Với sản phẩm có tệp người dùng dùng nhiều thiết bị Apple, luôn kiểm tra kỹ cột Safari trước khi phụ thuộc vào một Web API mới.

Progressive enhancement: chiến lược thực tế khi tính năng chưa được hỗ trợ đều

Thay vì chờ một tính năng đạt hỗ trợ đầy đủ trên cả bốn trình duyệt rồi mới dùng, phần lớn đội ngũ frontend có kinh nghiệm áp dụng chiến lược tăng cường dần (progressive enhancement): viết mã sao cho trải nghiệm cơ bản vẫn hoạt động trên trình duyệt chưa hỗ trợ, còn trình duyệt đã hỗ trợ thì nhận thêm trải nghiệm nâng cao. Ví dụ cụ thể với container queries: viết CSS mặc định theo media query truyền thống dựa trên viewport, sau đó bọc phần container query trong khối @supports để chỉ áp dụng khi trình duyệt hỗ trợ, nhờ vậy Safari 15 trở về trước vẫn hiển thị bố cục hợp lý dù không có hiệu ứng theo kích thước container. Với JavaScript, kỹ thuật tương tự là kiểm tra sự tồn tại của API trước khi gọi, ví dụ if ("share" in navigator) trước khi dùng Web Share API, và chuẩn bị sẵn phương án dự phòng như sao chép link vào clipboard cho trình duyệt chưa hỗ trợ.

Vì sao bảng dữ liệu này cần được cập nhật định kỳ và giới hạn của một ảnh chụp nhanh

Trình duyệt phát hành phiên bản mới liên tục — Chrome và Firefox theo chu kỳ khoảng bốn tuần, Safari gắn với các bản beta và chính thức của macOS/iOS — nên bất kỳ bảng dữ liệu tĩnh nào cũng chỉ phản ánh đúng tình trạng tại thời điểm biên soạn chứ không tự động cập nhật theo thời gian thực như caniuse.com vốn được đồng bộ liên tục từ dữ liệu chính thức của các trình duyệt. Với những tính năng đang trong giai đoạn hoàn thiện đặc tả như CSS Anchor Positioning, khoảng cách hỗ trợ giữa các trình duyệt có thể thay đổi nhanh chỉ trong vài tháng. Vì lý do đó, bảng dữ liệu ở trên nên được xem như một điểm khởi đầu tra cứu nhanh cho những câu hỏi không đòi hỏi độ chính xác tuyệt đối, còn với quyết định ảnh hưởng trực tiếp tới trải nghiệm của hàng triệu người dùng sản phẩm thật, bước xác nhận lại trên caniuse.com hoặc MDN ngay trước khi triển khai vẫn là điều nên làm.

Câu hỏi thường gặp (FAQ)

Dữ liệu trong bảng này được lấy từ đâu và có được cập nhật thường xuyên không?

Dữ liệu được biên soạn và đối chiếu với caniuse.com và MDN tại thời điểm trang được xuất bản, tháng 9/2026. Vì trình duyệt phát hành phiên bản mới liên tục, hãy xem đây là ảnh chụp nhanh phục vụ tra cứu thường ngày, không phải nguồn cập nhật theo thời gian thực.

Vì sao tôi nên kiểm tra lại trên caniuse.com thay vì chỉ tin vào bảng này?

Vì caniuse.com được đồng bộ liên tục từ dữ liệu chính thức của các trình duyệt và bao gồm cả số liệu thị phần sử dụng theo khu vực, trong khi bảng ở đây là dữ liệu tĩnh biên soạn một lần. Với quyết định mang tính sản xuất, đặc biệt cần biết chính xác đến từng bản build, luôn xác nhận lại trên caniuse.com hoặc MDN.

Hỗ trợ một phần (badge màu vàng) nghĩa là gì?

Nghĩa là tính năng có chạy được trên trình duyệt đó nhưng kèm điều kiện, ví dụ cần tiền tố trình duyệt như -webkit-, chỉ hỗ trợ trên một nền tảng cụ thể (như iOS nhưng chưa có trên macOS), hoặc chỉ hỗ trợ một phần chức năng của đặc tả đầy đủ. Chi tiết điều kiện được ghi trong phần mô tả ngay dưới tên tính năng.

Vì sao Safari thường hỗ trợ chậm hơn Chrome với các Web API mới?

Vì Safari phải đồng bộ chu kỳ phát hành với hệ điều hành của Apple thay vì phát hành độc lập, cùng với cách tiếp cận thận trọng hơn với các API có thể ảnh hưởng tới quyền riêng tư hoặc bảo mật. Đây là khuôn mẫu lặp lại với nhiều Web API liên quan tới phần cứng hoặc tương tác hệ thống.

Baseline trong web development nghĩa là gì?

Baseline là nhãn cho biết một tính năng đã được toàn bộ trình duyệt chính hỗ trợ ổn định, chia làm hai mức: Newly available (mới đạt đủ trên cả bốn trình duyệt) và Widely available (đã ổn định ít nhất ba mươi tháng). Tính năng đạt Baseline Widely available thường an toàn để dùng mà không cần polyfill.

Tôi có thể dùng một tính năng chưa được hỗ trợ đầy đủ trên cả bốn trình duyệt không?

Có thể, bằng chiến lược tăng cường dần: viết trải nghiệm cơ bản hoạt động ở mọi trình duyệt, sau đó bọc phần dùng tính năng mới trong @supports (với CSS) hoặc kiểm tra sự tồn tại của API (với JavaScript) để chỉ áp dụng trên trình duyệt đã hỗ trợ, còn trình duyệt chưa hỗ trợ vẫn nhận trải nghiệm cơ bản ổn định.

Vì sao BarcodeDetector API không có trên Firefox và Safari?

BarcodeDetector nằm trong một nhóm API Shape Detection do Google đề xuất, hiện chỉ được triển khai trên các trình duyệt nền Chromium. Firefox và Safari chưa công bố lộ trình triển khai API này, nên nếu cần quét mã vạch đa trình duyệt, giải pháp thực tế là dùng một thư viện JavaScript như ZXing thay vì API gốc.

Container queries khác gì so với media queries truyền thống?

Media query áp dụng style dựa trên kích thước viewport của toàn bộ trang, còn container query áp dụng style dựa trên kích thước của chính phần tử cha chứa nó, bất kể viewport rộng hay hẹp. Điều này giúp một component hiển thị đúng bố cục dù được đặt trong sidebar hẹp hay khu vực nội dung rộng trên cùng một trang.

Tại sao trang này không dùng luôn API của caniuse.com để lấy dữ liệu?

Để công cụ hoạt động hoàn toàn độc lập, không phụ thuộc vào dịch vụ bên ngoài và không có độ trễ tải dữ liệu qua mạng, dữ liệu được biên soạn sẵn ngay trong trang. Đánh đổi là dữ liệu không tự động cập nhật theo thời gian thực như bản gốc trên caniuse.com.

Tôi nên làm gì nếu tính năng cần dùng chỉ được hỗ trợ đầy đủ trên Chrome và Edge?

Trước tiên xác định tỷ lệ Chrome/Edge trong tệp người dùng thực tế của sản phẩm qua Google Analytics hoặc công cụ phân tích tương tự. Nếu tỷ lệ đủ cao và tính năng không phải chức năng lõi, có thể triển khai kèm phương án dự phòng cho trình duyệt khác theo chiến lược tăng cường dần thay vì chờ hỗ trợ đầy đủ.

Vì sao WebSockets và Web Workers không có ghi chú đặc biệt nào trong bảng?

Vì đây là những API đã tồn tại rất lâu, được toàn bộ trình duyệt hiện đại hỗ trợ đầy đủ từ nhiều năm trước, không còn vướng điều kiện đặc biệt nào. Chúng được giữ lại trong bảng như điểm tham chiếu cho những tính năng nền tảng đã ổn định hoàn toàn.

Danh sách năm mươi mấy tính năng này được chọn theo tiêu chí gì?

Ưu tiên các tính năng CSS và JavaScript hiện đại được lập trình viên tìm kiếm và hỏi nhiều nhất trong vài năm gần đây, kết hợp giữa tính năng đã ổn định lâu và tính năng mới đang trong giai đoạn hỗ trợ chưa đồng đều giữa các trình duyệt, để bảng vừa hữu ích cho tra cứu nhanh vừa phản ánh đúng những điểm cần cân nhắc khi quyết định dùng công nghệ mới.

Từ khóa liên quan

  • kiểm tra hỗ trợ trình duyệt online
  • caniuse tiếng việt
  • browser compatibility checker
  • css có hỗ trợ trên safari không
  • tra cứu css browser support
  • javascript api hỗ trợ trình duyệt nào
  • css has hỗ trợ trình duyệt nào
  • container query hỗ trợ browser
  • backdrop filter safari
  • view transitions api hỗ trợ
  • baseline web features
  • kiểm tra tính năng css mới
  • web api hỗ trợ chrome firefox safari
  • tra bảng tương thích mdn
  • css nesting hỗ trợ trình duyệt
  • progressive enhancement css
  • polyfill javascript api mới
  • công cụ tra cứu browser support miễn phí
  • kiểm tra tương thích trình duyệt trước khi deploy
  • danh sách css features hiện đại

Công cụ Developer Tools liên quan

.env Generator

Tạo file .env và .env.example cho dự án.

.gitignore Generator

Tạo .gitignore cho Node.js, Python, Java.

API Mock Generator

Tạo mock JSON data cho API testing.

API Response Formatter

Format và phân tích API response.

API Tester

Test REST API: GET, POST, PUT, DELETE.

Postman Alternative - API Testing Tool Online với Collections, Environment & File Upload

Postman Alternative miễn phí - Test APIs với Collections, Multiple Environments, Pre-request Scripts, Collection Runner, File Upload (form-data), Tests/Assertions, Code Generation (cURL, JS, Python, Node.js). Browser-based, không cần cài đặt. Save requests, export/import collections, auto-save history. Hỗ trợ Bearer Token, Basic Auth, API Key. Hoàn hảo cho API development và testing.

Swagger API Tester - Test API với OpenAPI/Swagger Spec & Authentication Online

Swagger API Tester miễn phí - Import OpenAPI/Swagger specification và test API endpoints với đầy đủ authentication (Bearer Token/JWT, Basic Auth, API Key). Hỗ trợ OpenAPI 3.0, Swagger 2.0, auto-parse endpoints, parameters, request body. Giao diện như Swagger UI với color-coded methods, grouped endpoints, real-time testing. Hoàn hảo cho API development, testing, debugging secured APIs.

Base Converter

Chuyển đổi Binary, Hex, Base32.

Base64 Encoder

Mã hóa/giải mã Base64.

Binary Converter

Chuyển đổi Decimal, Binary, Hex.

Box Shadow Generator

Tạo CSS box-shadow trực quan.

Chmod Calculator

Tính quyền file Linux.

Dịch vụ của Tấn Phát Digital

Đang xây sản phẩm và cần thêm người làm phần nặng?

Gói giải pháp doanh nghiệp

Nền tảng custom cho ngân hàng, y tế và sàn B2B, chuẩn ISO 27001, GDPR, PCI-DSS, SLA 99.99%.

Từ 50.000.000đXem chi tiết →

Dịch vụ phát triển Blockchain & Web3

Smart contract, dApp và NFT marketplace đa chuỗi, audit bảo mật đầy đủ trước khi lên mainnet.

Từ 50.000.000đXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Dịch vụ thiết kế landing page

Trang đích riêng cho từng chiến dịch quảng cáo, tỷ lệ chuyển đổi 3–8%, bàn giao trong 5–21 ngày.

Từ 3.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook